Olá colegas,
Estou querendo fazer uma validação do usuário que ao verificar q o mesmo não existe mostre uma mensagem na própria tela de login, e eu queria fazer isso com uma classe validator que implementa import javax.faces.validator.Validator, já tenho a classe (abaixo), só não sei como fazer isso para este caso, pq o jsf parece enviar campo a campo da página para validação aí fica complicado pq preciso do nome do usuário e senha ao mesmo tempo certo. Tem como fazer isso?
package br.com.rtkomp.validator;
import br.com.rtkomp.util.ValidatorUtil;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
public class ValidatorLogin implements Validator{
public ValidatorLogin() {
}
public void validate(FacesContext context, UIComponent component, Object value)
throws ValidatorException{
checkCharSpecial(value.toString(), component);
checkSQLInjection(value.toString(), component);
}
private void checkSQLInjection(String value, UIComponent component) throws ValidatorException{
if(ValidatorUtil.checkSqlInjection(value)){
String msg = ValidatorExceptionUtil.formatMessage(ValidatorExceptionUtil.MESSAGE_SQL_INJECTION, component.getId());
throw new ValidatorException(ValidatorExceptionUtil.createException(msg,FacesMessage.SEVERITY_WARN));
}
}
private void checkCharSpecial(String value, UIComponent component) throws ValidatorException{
if(ValidatorUtil.checkCharSpecial(value)){
String msg = ValidatorExceptionUtil.formatMessage(ValidatorExceptionUtil.MESSAGE_CHAR_SPECIAL, component.getId());
throw new ValidatorException(ValidatorExceptionUtil.createException(msg,FacesMessage.SEVERITY_WARN));
}
}
}
Obrigado.
Abraços.