Validadores Personalizados no JSF

Em JSF você podemos trabalhar com dois grupos de validadores de dados: os padrões (que são fornecidos pelo JSF) e os personalizados (que são os podemos criar). Os existentes validam algumas características de dados, tais como: tamanho de campos, limites, etc.
Mas as vezes precisamos validar algo diferente, entra ai a personalização.

Criação de um validador

Basta sobrescrever o método validade(), estendendo a interface javax.faces.validator.Validator, e registrá-lo no contexto do JSF.

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(“Email Invalido”);
context.addMessage(toValidate.getClientId(context), message);
}
}

2. Registrando o validador

Devemos registrar o validador 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

Após criar e registrar 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>

[Lembrete Pessoal]

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s