[quote=rpsouza441]Nossa essa parada de validação era o próximo assunto que iria pesquisar para aprender! vlw Wolky
Eu to quebrando a cabeça com uma função que estou tentando colocar. Eu transportei o programa para uma inscrição.
Está com 3 tabelas. Curso, inscrito e inscrição(ManyToMany sem atributos, tem uma PK e duas FK de curso e inscrito).
Eu estou tentando fazer é: o inscrito digita o CPF e esse é validado (achei no GUJ um código que faz isso) e se existir esse CPF no banco abre o “formCad” em modo editar senão abre em modo adicionar.
A minha dificuldade é dizer para o jsf que essa busca é para abrir o editar da entidade, pois o find que o jsf usa mostra uma lista dos encontrados(como já passou pelo validador de cpf só pode existir um).
Alguém tem alguma dica de como consigo fazer isso?
====================EDIT=========================
Pensei em uma solução, foi fazer no jsf a validação do que acontecer, vai ser mais menos assim:
if(CPF = ok)
abre a pagina de cadastro
na pagina de cadastro:
if(find.CPF = ok)
abre a "busca" do inscrito (output)
else
abre o cadastrar inscrito (input)
Deve existir outra forma mais limpa, mas essa vai servir :lol:
:roll: as vezes eu caio tão fundo que esqueço do básico [/quote]
rp, tente não usar ManyToMany no hibernate, crie uma tabela auxiliar e todas serão OneToMany ou ManyToOne, tipo… Pessoa e categoria é um relacionamento N para N, crie então o pessoa_categoria, que pessoa é 1 para N no pessoa_categoria e o pessoa_categoria é 1 para N para categoria… não sei se consegui explicar direito, mas de uma pesquisada sobre.
Tente por essa validação retorno do control, toda négocio fica nele, mas o control acessar direto a visão é meio tenso, traga um retorno ou lance uma Exception que você criou para tratar esse fluxo de dados, dentro do managedBean você verifica se ele deu exceção com try catch, e se deu, vc sabe que o CPF não está ok.
Essas 2 semanas que se seguem estarei muito ocupado com meu TCC e iniciação científica, qualquer dúvida mandem por e-mail, posso até postar a resposta aqui para ajudar aos outros que tiverem mesma dúvida, a diferença é que acesso diariamente meu e-mail, já o forum não.