pylayerstates.utils.validate
This module provides a validation framework for model validation in Python. It includes base classes and exceptions for implementing validation rules and handling validation errors. The framework supports collecting multiple validation errors and provides a clean interface for validation.
- Usage:
>>> class MyModel(IValidatable): ... def _my_validator_function(self): ... ... ... ... __validators__ = [my_validator_function] ... ... def __init__(self, data): ... self.data = data
ValidationError
ModelValidationError
- class pylayerstates.utils.validate.ModelValidationError(errors: List[ValidationError])[source]
Exception class for aggregating multiple validation errors.
This exception contains a list of ValidationError instances and formats them into a readable error message.
- Parameters:
errors (List[ValidationError]) – List of validation errors that occurred
- Variables:
errors – Stored validation errors
IValidatable
- class pylayerstates.utils.validate.IValidatable[source]
Interface class for implementing validatable objects.
Classes inheriting from IValidatable should define their validation rules in the __validators__ class variable as a list of validator functions. Each validator function should take the instance as parameter and raise ValidationError if validation fails.
- Variables:
__validators__ – List of validator functions to be applied
- Usage:
>>> class MyModel(IValidatable): ... def _my_validator_function(self): ... ... ... ... __validators__ = [my_validator_function] ... >>> model = MyModel() >>> model.validate() # Raises ModelValidationError if validation fails
- validate()[source]
Validate the object using all registered validators.
- Raises:
ModelValidationError – If any validation errors occur