JSF - Validação de verificação de e-mails

1 resposta
A

Caros,

Estou iniciando agora com JSF e encontrei um problema que aparentemente pareceu simples, mas estou quebrando a cabeça!!! :shock:

Tenho dois campos:

E-mail
Confirmação de e-mail:

Eu preciso que os dois campos acima sejam iguais e esta validação não pode ser feita em JavaScript.

MANIFESTACAO.jsf
<h:outputText value="E-mail*: " styleClass="label" />
			<h:inputText 
				value="#{manifestacaoMB.ente.governante.email}" 
				size="28"  
				required="true" 			 
				requiredMessage="E-mail do Prefeito/Governador é obrigatório!" 
				maxlength="40">
				<f:validator validatorId="emailValidator" />
				<f:validator validatorId="emailConfirmacaoValidator" />								
</h:inputText>

<h:outputText value="E-mail - confirmar*: " styleClass="label" />
			<h:inputText
				id="emailPrefeitoGovernadorConfirmacao" 
				value="#{manifestacaoMB.emailPrefeitoGovernadorConfirmacao}" 
				size="28"  
				required="true" 
				validatorMessage="E-mail de confirmação do Prefeito/Governador está inválido!" 
				requiredMessage="E-mail de confirmação do Prefeito/Governador é obrigatório!" 
				maxlength="40">
				<f:validator validatorId="emailValidator" />				
			</h:inputText>

Observem que no campo e-mail eu invoco duas classes: emailValidator(validação de e-mail...se tem arroba, etc.), a outra classe é a emailConfirmacaoValidator, que aí que mora o problema, vejam o código:

EmailConfirmacaoValidator.java
package br.gov.mds.bpc.validator;
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;
import br.gov.mds.bpc.ui.ManifestacaoMgrBean;

public class EmailConfirmacaoValidator implements Validator {

	public void validate(FacesContext context, UIComponent component, Object obj)
			throws ValidatorException {
		
		ManifestacaoMgrBean teste = new ManifestacaoMgrBean();
		
		String emailPrincipal = (String) obj;
		String emailPrefeitoGovernadorConfirmacao = teste.getEmailAlternativoPrefeitoGovernadorConfirmacao();
		
		
		if (!emailPrincipal.equals((emailPrefeitoGovernadorConfirmacao)) )
		{
			throw new ValidatorException(new FacesMessage("O e-mail de confirmação do Prefeito/Governador não confere!"));
		}			
		
	}

}

Então observem que estou tentando verificar pelo equals se o e-mail = e-mail de confirmação. O que está acontecendo é que eu consigo resgatar o valor do e-mail (emailPrincipal ), mas a variável emailPrefeitoGovernadorConfirmacao sempre vem null. Pq não estou conseguindo resgatar o valor dessa variável???? Como faço isso em JSF? :roll:

Valeuuuu!!!!

1 Resposta

Javabuntu

cara tmb tive esse problema de sempre vir null, nesse caso eu construi um inputText dentro do código e fiz um binding pra resgatar o valor…

Criado 1 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 1
Participantes 2