Oii gente…
Gostaria de tirar uma dúvida relativamente simples.
Estou trabalhando com JSF + Richfaces e vejo muitos tutoriais e fóruns que utilizam maneiras diferentes de validar tanto implementando a interface validator ou um métodos com os mesmos parâmetros no manangedBean.
Gostaria de saber qual é as diferenças e qual a melhor prática se se utilizar os validadores nesses 2 exemplos.
1-Utilizando ValidatorException
void validate(FacesContext context, UIComponent componente,Object value) throws ValidatorException {
String s = (String) value;
if(s.equals("")) {
FacesMessage msg = new FacesMessage("Campo em Branco...");
throw new ValidatorException(msg);
}
}
2-Utilizando o FacesContext
void validate(FacesContext context, UIComponent componente,Object value) throws ValidatorException {
String s = (String) value;
if(s.equals("")) {
FacesMessage msg = new FacesMessage("Campo em Branco...");
fc.addMessage(componente.getClienteId(), msg);
}
}
Nos exemplos acima eu consigo fazer ele funcionar normal, mas não sei qual é a melhor prática. Também gostaria de saber se tem como escolher o message que vai aparecer, eu geralmente utilizo h:message e tem que defini-lo no atributo “for” pra quem ele é, eu uso muito o facesContext para validar dentro do ManagedBean e exibir o erro, mas não consigo redirecionar pra algum h:message, somente consigo utilizar com h:messages;
Obrigado pela atenção.
Rodrigo Torres Leme