validação jsf com acesso a dados

5 respostas
E

Olá pessoal!

Estou com um problema com uma classe de validação, procurei no forum mas não encontrei nada semelhante, vejam se podem me ajudar...

é o seguinte, estou tentando criar uma classe de validação para que na inclusão de um novo cadastro, seja validado um cpf verificando se o mesmo já consta cadastrado na base de dados, então fiz assim...
public class ValidarCPF implements Validator {

    @EJB
    private AlunoFacadeLocal dao;

    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {

        Aluno aluno = dao.procurarCPF((String) value);

        if (aluno != null) {

            JsfUtil.warn("CPF já cadastrado");

        }
    }
}
a classe está funcionando corretamente, está configurado no faces-config, o método procurarCPF do dao tbm está funcionando, já testei...

o problema é que na hora de fazer a chamada ao método pra buscar o objeto pelo cpf não funciona e não dá erro nenhum.

simplesmente não retorna nenhum resultado.

a partir da linha
Aluno aluno = dao.procurarCPF((String) value);
o código não é mais executado, testei colocando um jsfUtil.warn antes dessa chamada e apareceu a mensagem.
alguém sabe como fazer?

desde já Obrigado!

5 Respostas

A

Assim como o FacesConverter, o Validator não é candidato a injeção do EJB. Provavelmente o seu dao está nulo.
Para resolver isso você pode tornar o validator um @ManagedBean.

E

humm

saquei…

vou tentar…

obrigado!

E

cara, não deu certo…

Anotei a classe como um MB, mas não adiantou…

A

O dao está mesmo nulo?

E

não chega a executar a linha onde tem a chamada ao dao

Criado 10 de março de 2011
Ultima resposta 10 de mar. de 2011
Respostas 5
Participantes 2