Class AbstractEmailValidator<A extends Annotation>

  • 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 Detail

      • AbstractEmailValidator

        public AbstractEmailValidator()
    • Method Detail

      • 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