Validators¶
Built in validators¶
These validators are provided with odin.
- class odin.validators.RegexValidator(regex: str | Pattern = None, message: str = None, code: str = None, description: str = None)[source]¶
Validate a regular expression.
- class odin.validators.URLValidator(regex: str | 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: _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