Pessoal,
Estou tentando fazer um validator customizado usando o código abaixo:
<rich:popupPanel header="Novo" id="novoPane"
domElementAttachment="form" width="500" height="400" model="true">
<h:form id="form">
<h:inputSecret id="senhaIns" required="true"
value="#{usuarioControl.usuarioLogin.senha}" size="30"
validator="#{usuarioControl.validarSenha}">
</h:inputSecret>
<a4j:commandButton value="Inserir"
action="#{usuarioControl.novo}"
execute="@form"
render="out"
oncomplete="if(#{facesContext.maximumSeverity==null}){#{rich:component('novoPane')}.hide();}" >
</a4j:commandButton>
</h:form>
</rich:popupPanel>
public void validarSenha(FacesContext context, UIComponent validate, Object value) {
String senha = null;
String repetirSenha = null;
HtmlInputSecret repetirSenhaIns = null;
repetirSenhaIns = (HtmlInputSecret) context.getViewRoot().findComponent("form:repetirSenhaIns");
if(value!=null){
senha = value.toString();
}
if(repetirSenhaIns.getSubmittedValue()!=null){
repetirSenha = repetirSenhaIns.getSubmittedValue().toString();
}
System.out.println("senha:"+senha);
System.out.println("repetir senha:"+repetirSenha);
if(senha!=null && repetirSenha!=null){
if(!senha.equals(repetirSenha)) {
FacesMessage msg = new FacesMessage("Senhas não conferem", "");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage("form:senhaIns", msg);
context.addMessage("senha", msg);
System.out.println("*** Senhas não conferem ***");
throw new ValidatorException(msg);
//throw new ValidatorException(msg);
}
}
}
Mas o erro não aparece na página.
Estou usando JSF2 e Richfaces 4