Guten Abend,
Ich möchte eine Email-Adresse validieren.
Im Model wird der String mit Metadatenvalidierung validiert:
Account.java
Nun habe ich in der BackingBean noch einen eigenen Validator, der nachsehen soll, ob die Email in der Datenbank schon vorhanden ist:
AccountBean.java
In der xhtml Datei binde ich meinen eigenen Validator ein:
[XML]
<h
utputLabel for="email" value="Email"/>
<h:inputText id="email" value="#{accountBean.account.email}" validator="#{accountBean.emailValidate}"/>
[/XML]
Jetzt wird leider nur mein eigener Validator aufgerufen und die Annotation @Email wird nicht mehr beachtet.
Kann ich beide Validatoren aufrufen oder muss ich einen Validator erstellen, der alles macht?
Ich möchte eine Email-Adresse validieren.
Im Model wird der String mit Metadatenvalidierung validiert:
Account.java
Java:
import org.hibernate.validator.constraints.Email;
...
@NotNull
@Email
private String email;
Nun habe ich in der BackingBean noch einen eigenen Validator, der nachsehen soll, ob die Email in der Datenbank schon vorhanden ist:
AccountBean.java
Java:
public void emailValidate(FacesContext ctx, UIComponent comp, Object value)
throws ValidatorException{
if(value instanceof String) {
String strValue = (String) value;
Account account = accountService.findByEmail(strValue);
if(account != null) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Email existiert schon", null);
throw new ValidatorException(msg);
}
}
}
In der xhtml Datei binde ich meinen eigenen Validator ein:
[XML]
<h
<h:inputText id="email" value="#{accountBean.account.email}" validator="#{accountBean.emailValidate}"/>
[/XML]
Jetzt wird leider nur mein eigener Validator aufgerufen und die Annotation @Email wird nicht mehr beachtet.
Kann ich beide Validatoren aufrufen oder muss ich einen Validator erstellen, der alles macht?