Na minha aplicação estou usando jsf, e tenho uma classe de cliente, com um atributo cpf, queria saber como validar um cpf. Como fazer isso?
Na minha aplicação estou usando jsf, e tenho uma classe de cliente, com um atributo cpf, queria saber como validar um cpf. Como fazer isso?
Alisson,
boa tarde
tem um curso aqui na Alura exatamente para aprender esse tipo de validação e outras:
Curso Java Brasil: Formate datas, cpf e números nacionais
https://cursos.alura.com.br/course/java-brasil-lidando-com-datas-numeros-documentos
Não é só formatação, é validação também. Faça os cursos de Java 2 e Java 3 que são pré- requisitos. Mas aqui na Alura nada impede de você fazer direto.
Jefferson mais ensino usar no jsf? Muito obg
Alisson,
Acredito que o curso ensina utilizando o java puro. Eu estou fazendo o curso de jsf agora e é possível criar validadores personalizados. Por exemplo, o campo ISBN precisa sempre começar com digito 1, então no bean foi criado o método
public void comecaComDigitoUm(FacesContext fc, UIComponent component, Object value) throws ValidatorException {
String valor = value.toString();
if (!valor.startsWith("1")) {
throw new ValidatorException(new FacesMessage("Deveria começar com 1"));
}
}
e no xhtml
<h:inputText id="isbn" value="#{livroBean.livro.isbn}" validator="#{livroBean.comecaComDigitoUm}"/>
Segue o link para a aula completa:
Olá Alisson,
Além de criar seu próprio validador no JSF, como mencionado acima pelo Jefferson, você pode usar o Bean Validation (especificação sobre validação de Java Beans) para tal.
Uma das implementações famosas dessa especificação seria o Hibernate Validator. Esta implementação já possui algumas validações prontas para informações utilizadas no Brasil, como por exemplo o CPF, CNPJ, etc.
Para indicar que quer validar o CPF dos seus clientes, bastaria anotar o atributo na classe Cliente:
public class Cliente{
@CPF
private String CPF;
//...demais códigos
}
Também precisa indicar ao JSF quando este deve executar as validações de acordo com a configuração feita via anotações. Você pode obter mais informações na documentação da ferramenta disponível em: http://hibernate.org/validator/documentation/
Muito obrigado Jefferson pela sua atenção e dedicação, Cássio, tá me zuando, basta eu usar a anotação @CPF no meu cpf que já será feito a validação? É sério isso?
Cassio obrigado aqui funcionou, obg mesmo!