validators.between
Between.
@validator
def
between( value: ~PossibleValueTypes, /, *, min_val: Union[~PossibleValueTypes, validators._extremes.AbsMin, NoneType] = None, max_val: Union[~PossibleValueTypes, validators._extremes.AbsMax, NoneType] = None):
Validate that a number is between minimum and/or maximum value.
This will work with any comparable type, such as floats, decimals and dates not just integers. This validator is originally based on WTForms-NumberRange-Validator.
Examples:
>>> from datetime import datetime >>> between(5, min_val=2) True >>> between(13.2, min_val=13, max_val=14) True >>> between(500, max_val=400) ValidationError(func=between, args={'value': 500, 'max_val': 400}) >>> between( ... datetime(2000, 11, 11), ... min_val=datetime(1999, 11, 11) ... ) True
Arguments:
- value: Value which is to be compared.
- min_val: The minimum required value of the number. If not provided, minimum value will not be checked.
- max_val: The maximum value of the number. If not provided, maximum value will not be checked.
Returns:
(Literal[True]): If
valueis in between the given conditions. (ValidationError): Ifvalueis not in between the given conditions.
Raises:
- (ValueError): If
min_valis greater thanmax_val. - (TypeError): If there's a type mismatch during comparison.
Note:
PossibleValueTypes=TypeVar("PossibleValueTypes", int, float, str, datetime)- If neither
min_valnormax_valis provided, result will always beTrue.