Abstract base class for validation errors.
Defines ValidationError, the abstract base class for all input validation
errors. It cannot be instantiated directly — use ValidationFailedError
instead. Extends ValueErrorMixin (catchable as ValueError) and
Error[object].
ValidationError
Bases: ValueErrorMixin, Error[object], ABC
Base class for validation errors — abstract, use ValidationFailedError to throw.
Example
class ValidationFailed(ValidationError[object]):
pass
error = ValidationFailed.from_string("Email is required")
Source code in src/forging_blocks/foundation/errors/base/validation_error.py
| class ValidationError(ValueErrorMixin, Error[object], ABC):
"""Base class for validation errors — abstract, use ``ValidationFailedError`` to throw.
Example:
```python
class ValidationFailed(ValidationError[object]):
pass
error = ValidationFailed.from_string("Email is required")
```
"""
def __init__(
self, message: ErrorMessage, metadata: ErrorMetadata[object] | None = None
) -> None:
if type(self) is ValidationError:
raise TypeError("ValidationError is abstract; use ValidationFailedError instead")
super().__init__(message, metadata)
|