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

1# validation.py 

2from ..failure_metadata import FailureMetadata 

3from .base import JobError 

4 

5 

6class ValidationError(JobError): 

7 """Raised when input data fails validation.""" 

8 

9 _default_failure_metadata = FailureMetadata( 

10 failure_kind="permanent", 

11 retryable=False, 

12 ) 

13 

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)