Bom dia.
Tenho que verificar se o email e a confirmação do email são iguais, mas não tá dando certo.
public void validateEmail(FacesContext context, UIComponent toValidate, Object value) throws ValidatorException {
String varConfirmaEmail = (String) value;
String varEmail = (String) this.emailInput.getLocalValue(); <---- está retornando null
if (Validator.validaEmail(varEmail)) {
if (!varConfirmaEmail.equals(varEmail)) {
((UIInput) toValidate).setValid(false);
FacesMessage message = new FacesMessage(" *Email não corresponde ");
context.addMessage(toValidate.getClientId(context), message);
}
} else {
FacesMessage message = new FacesMessage("Formato inválido");
context.addMessage(toValidate.getClientId(context), message);
}
}
<p:panel id="pnlEmail" header="Correio Eletrônico" >
<h:panelGrid columns="3" cellpadding="3" >
<h:outputLabel value="E-mail" for="txtEmail"/>
<p:inputText id="txtEmail" value="#{cadastroDePessoaBean.strEmail}" required="true" size="40">
<p:watermark for="txtEmail" value="Digite seu email" />
</p:inputText>
<p:message for="txtEmail" />
<h:outputLabel value="Confirma E-mail" for="txtConfirmaEmail"/>
<p:inputText id="txtConfirmaEmail" validator="#{cadastroDePessoaBean.validateEmail}" required="true" size="40" binding="#{cadastroDePessoaBean.emailInput}">
<p:watermark for="txtConfirmaEmail" value="Confirme seu email" />
</p:inputText>
<p:message id="msgEmail" for="txtEmail" />
</h:panelGrid>
</p:panel>
(String) this.emailInput.getLocalValue(); está retornando null.
Aguem pode me ajudar neste probleminha.
Desde já agradeço.