com.vaadin.flow.data.validator.

Class AbstractValidator<T>

java.lang.Object
com.vaadin.flow.data.validator.AbstractValidator<T>

Type Parameters:

T - The value type

All Implemented Interfaces:

Validator<T>, Serializable, BiFunction<T,ValueContext,ValidationResult>

Direct Known Subclasses:

RangeValidator, RegexpValidator, StringLengthValidator

public abstract class AbstractValidator<T> extends Object implements Validator<T>

An abstract base class for typed validators.

Since:

1.0.

Author:

Vaadin Ltd

See Also:

  • Constructor Details

    • AbstractValidator

      protected AbstractValidator(String errorMessage)

      Constructs a validator with the given error message. The substring "{0}" is replaced by the value that failed validation.

      Parameters:

      errorMessage - the message to be included in a failed result, not null

  • Method Details

    • getMessage

      protected String getMessage(T value)

      Returns the error message for the given value.

      Parameters:

      value - an invalid value

      Returns:

      the formatted error message

    • toResult

      protected ValidationResult toResult(T value, boolean isValid)

      A helper method for creating a Result from a value and a validity flag. If the flag is true, returns Result.ok, otherwise yields Result.error bearing the error message returned by getMessage(Object).

      For instance, the following apply method only accepts even numbers:

       @Override
       public Result<T> apply(Integer value) {
           return toResult(value, value % 2 == 0);
       }
       

      Parameters:

      value - the validated value

      isValid - whether the value is valid or not

      Returns:

      the validation result