Primefaces Email Kontrolü (REGular EXpression kullanımı)
Primefaces ile Email Validasyon
Projemizde email alanı girilmesini istediğimiz ve format kontrolü yapmak istediğimiz zaman REGEX ile email uygunluğunu kontrol edebiliriz.
Örnek Email Validator
İnputtext Aracı
Text aracımızın içinde <f:validator> kullanarak email regex kontrolü yapabiliriz.Validator ID kısmı bizim özel hazırlayacağımız Validator sınıfımıza verdiğimiz key değeri oluyor.
<p:inputText id="txtEmail" value="#{userCreationBean.email}" style="width:200px" validatorMessage="Email address must be valid."> <f:validator validatorId="custom.emailValidator" /> </p:inputText>
CustomEmailValidator Sınıfı
Email Validator sınıfımızda key değerimizi yazalım.
@FacesValidator(“custom.emailValidator”)
Burada custom.emailValidator inputtext aracımızda kullanacağımız validatorID keyimizdir.
Burada EMAIL_PATTERN = “^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@”
+ “[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$”;
Kurallarımızı belirler. Regex ile ilgili detay
@FacesValidator("custom.emailValidator") public class EmailValidator implements Validator, ClientValidator { private Pattern pattern; private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; public EmailValidator() { pattern = Pattern.compile(EMAIL_PATTERN); } public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { if(value == null) { return; } if(!pattern.matcher(value.toString()).matches()) { throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Validation Error", value + " is not a valid email;")); } } public Map<String, Object> getMetadata() { return null; } public String getValidatorId() { return "custom.emailValidator"; } }
Kolay Gelsin 🙂