Skip to content

Validation Error

validation_error

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)