Coverage for dataexcept/exceptions/validation.py: 100%
9 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-27 14:44 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-27 14:44 +0000
1# validation.py
2from ..failure_metadata import FailureMetadata
3from .base import JobError
6class ValidationError(JobError):
7 """Raised when input data fails validation."""
9 _default_failure_metadata = FailureMetadata(
10 failure_kind="permanent",
11 retryable=False,
12 )
14 def __init__(self, field: str, value, message: str | None = None):
15 self.field = field
16 self.value = value
17 self.message = message or f"Validation failed for field '{field}': {value!r}"
18 super().__init__(self.message)