maia/registro/.svn/pristine/d9/d982b2b78c71ce814b89b76c4fd...

39 lines
1.4 KiB
Plaintext
Executable File

package com.fp.armas.portal.validator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import com.fp.armas.portal.web.PortalWebResources;
/**
* Validador que verifica que un mail este bien formado
* @author dcruz
*
*/
@FacesValidator(value="emailValidator")
public class EmailValidator implements Validator {
private static final String REGEX_EMAIL = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
private static final Pattern PATTERN_EMAIL = Pattern.compile(REGEX_EMAIL);
@Override
public void validate(FacesContext facesContext, UIComponent component, Object value)
throws ValidatorException {
if(value == null || value.toString().equals("")){
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, PortalWebResources.getString("error.campo.vacio"), PortalWebResources.getString("error.campo.vacio")));
}
Matcher emailMatcher = PATTERN_EMAIL.matcher(value.toString());
if(!emailMatcher.matches()){
throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, PortalWebResources.getString("error.mail.incorrecto"), PortalWebResources.getString("error.mail.incorrecto")));
}
}
}