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

class pylayerstates.utils.validate.ValidationError[source]

Base exception class for validation errors.

This exception should be raised when a single validation rule fails.

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