Hi ich möchte in JSF einen Validator erstellen für die Eingabe von Email Adressen, dieser soll ausgeführt werden sobald das Textfeld für die Eingabe von Email Adressen verlassen wurde. Wenn die Email korrekt ist soll ein grüner Text mit einem häkchen ersscheinen ,wenn nicht ein roter Text mit X. Wenn ich die Email eingebe und das Textfeld verlasse ändert sich nichts.
Hier ein Bild zur Darstellung des Problems.
Ich bin zwar selber noch ganz neu in JSF aber wenn mich nicht alles täuscht muss eine Validator Klasse das Validator Interface implementieren. Wenn du einen eigenen Validator erstellst würde ich das in eine eigene Klasse stecken.
Für dein vorhaben gibt es meiner Meinung aber schon was fertiges und zwar den RegexValidator.
Das kann dann in etwa so aussehen:
<h:inputText id="email" value="#{Bean.email}" >
<f:validateRegex pattern="[a-zA-Z ]*"/> //du must hier den pattern noch auf eine email anpassen da gibts eh schon fertige sachen im web
<f:ajax event="keyup" render="emailmessage" execute="@this" />
</h:inputText>
<h:messages for="email" id="emailmessage"/>
facesContext.validationFailed gibt an ob ein Validationsfehler vorliegt, je nach dem wird wird dann die passende Visibility für das <h: output Element gesetzt.
Hi
Hab jetzt ein noch ein Häkchen hinzugmeacht und das required Attribut hinzugefügt, leider funktioniert es jetzt nicht mehr.
Die Invalid Email Format Message wird mir angzeigt sobald ich ein Zeichen eingebe, die mail erscheint nicht mehr ?
Hab jetzt noch ein Picture hinzugefügt das nur ,dann angzeigt werden soll wenn das Format der Mail Adresse stimmt.