/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package edu.harvard.iq.dataverse; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.apache.commons.validator.routines.EmailValidator; /** * * @author skraffmi */ public class EMailValidator implements ConstraintValidator<ValidateEmail, String> { @Override public void initialize(ValidateEmail constraintAnnotation) { } @Override public boolean isValid(String value, ConstraintValidatorContext context) { return isEmailValid(value, context); } public static boolean isEmailValid(String value, ConstraintValidatorContext context) { if (value == null) { //we'll let someone else decide if it's required return true; } boolean isValid = EmailValidator.getInstance().isValid(value); if (!isValid) { if (context != null) { context.buildConstraintViolationWithTemplate(value + " is not a valid email address.").addConstraintViolation(); } return false; } return true; } }