
Criando um validador
Criar um validador em JSF é simples. Para tal, basta sobrescrever o método validade(), por meio de uma classe que estenda a interface javax.faces.validator.Validator, e registrá-lo no contexto do JSF. Vejamos um exemplo de validação de e-mail.
1. Criando o validador
public void validateEmail(FacesContext context, UIComponent toValidate, Object value) {
String email = (String) value;
if (email.indexOf('@') == -1) {
((UIInput) toValidate).setValid(false);
FacesMessage message = new FacesMessage("Invalid Email");
context.addMessage(toValidate.getClientId(context), message);
}
}
2. Registrando o validador
Para registrar o validador, basta indicá-lo no Faces-config, conforme o exemplo abaixo:
<validator>
<h:inputText id="email" value="#Bean.user.email}"
validator="#{validateEmail}" required="true"/>
<validator-class>
</validator-class>
</validator>
3. Usando o validador
Tendo criado e registrado o validador, basta usa-lo por meio do marcador <f:validator …/>:
<h:inputtext id="email" required="true" validator="#{validateEmail}" value="#Bean.user.email}">
</h:inputtext>



