Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Validar cpf

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?

6 respostas

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:

https://cursos.alura.com.br/course/jsf/task/1938

solução!

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!