[RESOLVIDO!] Verificar o CPF dentro do campo do form

Olá Pessoal, bom dia.

Preciso fazer uma verificação do CPF dentro do form, ou seja: que este seja verificado no banco logo após a sua digitação, e que me retorne uma mensagem dizendo se o CPF já está cadastrado ou não.

Agradeço sugestões.

Teria que fazer isso via Ajax!

Pô, voce quer a resposta do negócio velho…rss.
Posta o código que voce fez até agora, pois o que voce esta pedindo é a lógica pronta para validação do CPF, ou seja:

1. Verificar se foram digitados os 11 numeros.
2. O campo só deve aceitar numeral.
3. O campo deve ser limitado ao tamanho de 11 numeros.
4. Se o CPF estiver cadastrado “True”, retornar mensagem “Usuário : XXXX cadastrado no CPF TAL”, caso não “False” retorne a tela de cadastro.

[b]Pensa um poquinho ai e manda bala.

  1. Seus métodos Setters e Getters já foram definidos ?.
  2. Voce já criou sua conexão com o banco de dados via JDBC ? (para iniciantes é bom JDBC eu sou iniciante…rss).
    2.1 Cria uma Factory para fazer a conexão com o banco de dados em vez de ficar criando uma conexão para cada acesso a banco que quiser fazer nas classes, assim voce só invoca o método para conectar ao banco.
  3. Voce esta trabalhando com formulário com Swing/AWT, ou esta fazendo no ambiente WEB J2EE ?.
  4. Se estiver criando no ambiente J2EE, voce após criar seu formulário deve mapeá-lo no arquivo web.xml, mas esse é um outro processo.[/b].

Espero ter ajudado um pouco a voce iniciar seu código.

chirrion, eae man, blz??

Cara, tá tudo no jeito. O validador de CPF já está OK. O problema é que eu coloquei o campo CPF no banco como UNIQUE, mas no momento de salvar, com um CPF já salvo, ele me retorna a mensagem de confirmação, e no console do eclipse, me retorna uma exception (BatchUpdateException). Estou tentando tratar este erro com o try/catch e retornar uma string de erro, mas não está dando certo…

segue o código abaixo:

[code]try {
//…
funcionarioDao.merge(this.funcionario);

        this.funcionario = new Funcionario();
        limparCad(null);
        return "sucesso_pf";
    } catch (BatchUpdateException e) {//neste ponto ele não aceita essa exception
        return "erro_cpf";
    }

[/code]
Estou usando JSF, facelets, faces servlet, ajax, rich, etc…
Alguma dica?
Agradeço a ajuda e a atenção.

[quote=chirrion]Pô, voce quer a resposta do negócio velho…rss.
Posta o código que voce fez até agora, pois o que voce esta pedindo é a lógica pronta para validação do CPF, ou seja:

1. Verificar se foram digitados os 11 numeros.
2. O campo só deve aceitar numeral.
3. O campo deve ser limitado ao tamanho de 11 numeros.
4. Se o CPF estiver cadastrado “True”, retornar mensagem “Usuário : XXXX cadastrado no CPF TAL”, caso não “False” retorne a tela de cadastro.

[b]Pensa um poquinho ai e manda bala.

  1. Seus métodos Setters e Getters já foram definidos ?.
  2. Voce já criou sua conexão com o banco de dados via JDBC ? (para iniciantes é bom JDBC eu sou iniciante…rss).
    2.1 Cria uma Factory para fazer a conexão com o banco de dados em vez de ficar criando uma conexão para cada acesso a banco que quiser fazer nas classes, assim voce só invoca o método para conectar ao banco.
  3. Voce esta trabalhando com formulário com Swing/AWT, ou esta fazendo no ambiente WEB J2EE ?.
  4. Se estiver criando no ambiente J2EE, voce após criar seu formulário deve mapeá-lo no arquivo web.xml, mas esse é um outro processo.[/b].

Espero ter ajudado um pouco a voce iniciar seu código.

[/quote]

Você pode implementar um validator do jsf ou antes de dar o merge você verifica se já existe um funcionário cadastrado com esse cpf, se existir no return coloca uma string vazia e adiciona uma mensagem no faces message dizendo que esse cpf é existe.

Valeu man. Fiz o validador e realmente funcionou. Obrigado.

[quote=Kleber-rr]Valeu man. Fiz o validador e realmente funcionou. Obrigado.

vc poderia disponibilizar o seu validador ?

Posso sim [quote]WAO[/quote], sem problemas. Amanhã passo pra vc, ok?

tudo bem pode ser sim, queria o validator e os exemplos do formulario,beean e o dao que vc usou