Validators¶
Built in validators¶
These validators are provided with odin.
-
class
odin.validators.
RegexValidator
(regex: Union[str, re.Pattern] = None, message: str = None, code: str = None, description: str = None)[source]¶ Validate a regular expression.
-
class
odin.validators.
URLValidator
(regex: Union[str, re.Pattern] = None, message: str = None, code: str = None, description: str = None)[source]¶ Validate a URL.
-
class
odin.validators.
MaxValueValidator
(limit_value)[source]¶ Validate value is less than a max value.
-
class
odin.validators.
MinValueValidator
(limit_value)[source]¶ Validate value is greater than a min value.
Odin also includes a helper method for generating simple validators.
-
odin.validators.
simple_validator
(assertion: Union[_A, Callable[[_A], _A]] = None, *, message: str = 'The supplied value is invalid', code: str = 'invalid', description: str = None)[source]¶ Create a simple validator.
Parameters: - assertion – A validation exception will be raised if this check returns a non-True value.
- message – Message to raised in Validation exception if validation fails.
- code – Code to included in Validation exception. This can be used to customise the message at the resource level.
- description – Optional description to provide information to sphinx for documentation
Usage:
>>> none_validator = simple_validator(lambda x: x is not None, message="This value cannot be none")
This can also be used as a decorator:
@simple_validator(message="This value cannot be none") def none_validator(v): return v is not None