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

Metodo validação Login

Olá, estou pesquisando sobre validação de campos. Encontrei o seguinte método:

FacesContext.getCurrentInstance();
component = event.getComponent();
UIInput uiInputPassword = (UIInput) component.findComponent("email");
    String email = uiInputPassword.getLocalValue() == null ? ""
        : uiInputPassword.getLocalValue().toString();
String senha = value.toString();
Usuario usr = getUsuarioDao().validaLogin(email, senha);
//    System.out.println("----------"+email);
if (usr == null){ 
throw new ValidatorException(new FacesMessage("Email ou senha não cadastrada. Por favor, cadastre o usuário."));
}
}

Alguém pode me explicar ele ? Recomenda usar ele ? Outras opções ?

2 respostas
solução!

Oi Rafael, esse código manipula diretamente os componentes da tela do JSF.. Eu acho meio exagerado. Na minha opinião o melhor é vc fazer o bind com algum objeto seu, por exemplo um objeto do tipo Pessoa e aplicar e deixar o JSF aplicar as validações da Bean Validation. Além dessas validações, você pode fazer suas validações de negocio em cima desse mesmo objeto.. Caso dê erro, você adiciona uma FacesMessage no FacesContext.

Obrigado pela ajuda Albertor. Estou dando resolvendo esse problema de validação no seguinte topico: https://cursos.alura.com.br/forum/topico-cadastro-com-validacao-22412