Desculpe, seu navegador não suporta JavaScript! Casa Open: Criando validadores personalizados no JSF

Criando validadores personalizados no JSF

validador-jsf


Cortando as introduções e indo direto ao assunto, no JSF você pode trabalhar com  dois grupos de validadores de dados: os existentes (que são fornecidos pelo JSF) e os personalizados (que são os criados por você). Os existentes validam algumas características de dados, tais como: tamanho de campos, limites, entre outras. Mas, como é de se esperar, várias características não são abrangidas. Em vista disso, a possibilidade de criar validadores personalizados é uma boa saída fornecida pelo JSF.




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:


 <h:inputText id="email" value="#Bean.user.email}"
  validator="#{validateEmail}" required="true"/>

 


3. Usando o validador

Tendo criado e registrado o validador, basta usa-lo por meio do marcador <f:validator .../>:



Comentários

Postar um comentário

Casa Open | by Samuel Vinícius, Belo Horizonte - MG. Powered by Blogger