Class AbstractEmailValidator<A extends Annotation>

java.lang.Object
org.hibernate.validator.internal.constraintvalidators.AbstractEmailValidator<A>
All Implemented Interfaces:
ConstraintValidator<A,CharSequence>
Direct Known Subclasses:
EmailValidator, EmailValidator

public class AbstractEmailValidator<A extends Annotation> extends Object implements ConstraintValidator<A,CharSequence>
Checks that a given character sequence (e.g. string) is a well-formed email address.

The specification of a valid email can be found in RFC 2822 and one can come up with a regular expression matching all valid email addresses as per specification. However, as this article discusses it is not necessarily practical to implement a 100% compliant email validator. This implementation is a trade-off trying to match most email while ignoring for example emails with double quotes or comments.

Author:
Emmanuel Bernard, Hardy Ferentschik, Guillaume Smet
  • Constructor Details

    • AbstractEmailValidator

      public AbstractEmailValidator()
  • Method Details

    • isValid

      public boolean isValid(CharSequence value, ConstraintValidatorContext context)
      Description copied from interface: ConstraintValidator
      Implements the validation logic. The state of value must not be altered.

      This method can be accessed concurrently, thread-safety must be ensured by the implementation.

      Specified by:
      isValid in interface ConstraintValidator<A extends Annotation,CharSequence>
      Parameters:
      value - object to validate
      context - context in which the constraint is evaluated
      Returns:
      false if value does not pass the constraint