com.vaadin.flow.data.validator.

Class RangeValidator<T>

    • Constructor Detail

      • RangeValidator

        public RangeValidator(String errorMessage,
                              Comparator<? super T> comparator,
                              T minValue,
                              T maxValue)

        Creates a new range validator of the given type. Passing null to either minValue or maxValue means there is no limit in that direction. Both limits may be null; this can be useful if the limits are resolved programmatically. The result of passing null to apply depends on the given comparator.

        Parameters:

        errorMessage - the error message to return if validation fails, not null

        comparator - the comparator to compare with, not null

        minValue - the least value of the accepted range or null for no limit

        maxValue - the greatest value of the accepted range or null for no limit

    • Method Detail

      • of

        public static <C extends Comparable<? super C>> RangeValidator<C> of(String errorMessage,
                                                                             C minValue,
                                                                             C maxValue)

        Returns a RangeValidator comparing values of a Comparable type using their natural order. Passing null to either minValue or maxValue means there is no limit in that direction. Both limits may be null; this can be useful if the limits are resolved programmatically.

        Null is considered to be less than any non-null value. This means null never passes validation if a minimum value is specified.

        Type Parameters:

        C - the Comparable value type

        Parameters:

        errorMessage - the error message to return if validation fails, not null

        minValue - the least value of the accepted range or null for no limit

        maxValue - the greatest value of the accepted range or null for no limit

        Returns:

        the new validator

      • apply

        public ValidationResult apply(T value,
                                      ValueContext context)

        Returns Result.ok if the value is within the specified bounds, Result.error otherwise. If null is passed to apply, the behavior depends on the used comparator.

        Parameters:

        value - the input value to validate

        context - the value context for validation

        Returns:

        the validation result

      • isMinValueIncluded

        public boolean isMinValueIncluded()

        Returns whether the minimum value is part of the accepted range.

        Returns:

        true if the minimum value is part of the range, false otherwise

      • setMinValueIncluded

        public void setMinValueIncluded(boolean minValueIncluded)

        Sets whether the minimum value is part of the accepted range.

        Parameters:

        minValueIncluded - true if the minimum value should be part of the range, false otherwise

      • isMaxValueIncluded

        public boolean isMaxValueIncluded()

        Returns whether the maximum value is part of the accepted range.

        Returns:

        true if the maximum value is part of the range, false otherwise

      • setMaxValueIncluded

        public void setMaxValueIncluded(boolean maxValueIncluded)

        Sets whether the maximum value is part of the accepted range.

        Parameters:

        maxValueIncluded - true if the maximum value should be part of the range, false otherwise

      • getMinValue

        public T getMinValue()

        Returns the minimum value of the range.

        Returns:

        the minimum value

      • setMinValue

        public void setMinValue(T minValue)

        Sets the minimum value of the range. Use setMinValueIncluded(boolean) to control whether this value is part of the range or not.

        Parameters:

        minValue - the minimum value

      • getMaxValue

        public T getMaxValue()

        Gets the maximum value of the range.

        Returns:

        the maximum value

      • setMaxValue

        public void setMaxValue(T maxValue)

        Sets the maximum value of the range. Use setMaxValueIncluded(boolean) to control whether this value is part of the range or not.

        Parameters:

        maxValue - the maximum value

      • isValid

        protected boolean isValid(T value)

        Returns whether the given value lies in the valid range.

        Parameters:

        value - the value to validate

        Returns:

        true if the value is valid, false otherwise