JSF - Converter - eigene Fehlermeldung

321

Grünschnabel
Guten Abend,

versuche nun schon seit ein paar Tagen, eigene Fehlermeldungen beim Konvertieren in einen anderen Datentyp anzuzeigen- jedoch ohne Erfolg.

Das Message-Bundle wird erfolgreich geladen, anbei meine "messages.properties":

javax.faces.component.UIInput.REQUIRED=Bitte einen Wert für dieses Feld eingeben!
javax.faces.component.UIInput.CONVERSION=Konvertierungsfehler!
javax.faces.converter.NumberConverter=Bitte eine Zahl eingeben!
javax.faces.converter.NumberConverter.NUMBER=Bitte eine Zahl eingeben!
javax.faces.converter.NumberConverter.NUMBER_detail=Bitte eine Zahl eingeben!
javax.faces.converter.IntegerConverter.INTEGER=Bitte eine Zahl eingeben!
javax.faces.converter.IntegerConverter.INTEGER_detail=Bitte eine Zahl eingeben!
javax.faces.converter.DateTimeConverter.DATE=Bitte ein gültiges Datum eingeben!
javax.faces.converter.DateTimeConverter.DATE_detail=Bitte ein gültiges Datum eingeben!
javax.faces.convert.IntegerConverter=Bitte eine Zahl eingeben!
javax.faces.convert.NumberConverter=Bitte eine Zahl eingeben!
javax.faces.convert.NumberConverter.NUMBER=Bitte eine Zahl eingeben!
javax.faces.convert.NumberConverter.NUMBER_detail=Bitte eine Zahl eingeben!
javax.faces.convert.DateTimeConverter=Bitte ein gültiges Datum eingeben!
javax.faces.convert.DateTimeConverter.DATE=Bitte ein gültiges Datum eingeben!
javax.faces.convert.DateTimeConverter.DATE_detail=Bitte ein gültiges Datum eingeben!

Hier der Ausschnitt aus der *.jsp:

<h:eek:utputText value="Kilometer" />
<h:panelGroup>
<h:inputText id="kilometer" required="true" value="#{gebrauchte.kilometer}">
<f:convertNumber type="number"/>
</h:inputText>
<h:message for="kilometer" errorClass="errors" />
</h:panelGroup>

<h:eek:utputText value="Pickerl" />
<h:panelGroup>
<h:inputText id="pickerl" required="true" value="#{gebrauchte.pickerl}">
<f:convertDateTime pattern="yyyy/MM" />
</h:inputText>
<h:message for="pickerl" errorClass="errors" />
</h:panelGroup>

Mein Problem ist, dass bei falscher Datumseingabe und bei Strings statt Integers immer nur die Fehlermeldung "Konvertierungsfehler!" und bei leer gelassenen Feldern "Bitte einen Wert für dieses Feld eingeben!" kommt.

Möchte jedoch bei falscher Datumseingabe die Fehlermeldung "Bitte ein gültiges Datum eingeben!" und bei String statt Integer-Eingabe die Fehlermeldung "Bitte eine Zahl eingeben!" erhalten. Jedoch kommt bei beiden immer nur "Konvertierungsfehler!"

Habe auch nur <converter> hinzugefügt und es mit "converterId="javax.faces.convert.IntegerConverter"" probiert - habe es sogar mit allen Properties ausprobiert - jedoch ohne Erfolg!

Würde mich um Hilfe sehr freuen!

Mit freundlichen Grüßen,

David
 
Hmm, MyFaces oder RI? Würde mich nicht wundern wenns mit der RI gehen würde.

Aber anstatt die Implementierung zu wechseln würd ich lieber eine eigene Konvertierungs-Methode schreiben, in der die Messages dann aus dem Bundle rausgeholt und im Fehlerfall an eine ValidatorException übergeben werden.

Gruß,
DH
 
Hallo,

hat sich mittlerweile schon erübrigt.
Eigene Fehlermeldungen funktionieren mit CoreJSF 1.1 nicht. Hab vorhin in Eclipse 3.2 entwickelt- hat jedoch nur Unterstützung für die Version 1.1. Nach dem Installieren von Eclipse Europa und dem Verwenden von Tomcat 6 anstatt von der Version 5.5 funktioniert es bestens! :)

Mit freundlichen Grüßen,

David
 

Neue Beiträge

Zurück