haive.core.schema.compatibility.validatorsΒΆ
Field and model validation framework with async support.
ClassesΒΆ
Collection of common validators. |
|
Validator for individual fields. |
|
Validator for entire models/schemas. |
|
Context passed through validation chain. |
|
Base validator class. |
|
Builder for creating validators. |
|
Chain multiple validators together. |
FunctionsΒΆ
|
Create a model validator from schema info. |
Module ContentsΒΆ
- class haive.core.schema.compatibility.validators.CommonValidators[source]ΒΆ
Collection of common validators.
- class haive.core.schema.compatibility.validators.FieldValidator(field_name, validators=None, error_messages=None)[source]ΒΆ
Bases:
Validator
Validator for individual fields.
Init .
- Parameters:
- add_validator(validator, error_message=None)[source]ΒΆ
Add a validator function.
- Parameters:
validator (collections.abc.Callable[[Any], bool])
error_message (str | None)
- Return type:
None
- validate(value, context)[source]ΒΆ
Validate field value.
- Parameters:
value (Any)
context (ValidationContext)
- Return type:
- class haive.core.schema.compatibility.validators.ModelValidator(schema_info=None, field_validators=None, cross_field_validators=None)[source]ΒΆ
Bases:
Validator
Validator for entire models/schemas.
Init .
- Parameters:
schema_info (haive.core.schema.compatibility.types.SchemaInfo | None) β [TODO: Add description]
field_validators (dict[str, FieldValidator] | None) β [TODO: Add description]
cross_field_validators (list[collections.abc.Callable] | None) β [TODO: Add description]
- add_cross_field_validator(validator)[source]ΒΆ
Add a cross-field validator.
- Parameters:
validator (collections.abc.Callable)
- Return type:
None
- add_field_validator(field_name, validator)[source]ΒΆ
Add a field validator.
- Parameters:
field_name (str)
validator (FieldValidator)
- Return type:
None
- validate(value, context)[source]ΒΆ
Validate entire model.
- Parameters:
value (Any)
context (ValidationContext)
- Return type:
- class haive.core.schema.compatibility.validators.ValidationContext(/, **data)[source]ΒΆ
Bases:
pydantic.BaseModel
Context passed through validation chain.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class haive.core.schema.compatibility.validators.Validator[source]ΒΆ
Bases:
abc.ABC
Base validator class.
- async avalidate(value, context)[source]ΒΆ
Async validation (optional).
- Parameters:
value (Any)
context (ValidationContext)
- Return type:
- abstractmethod validate(value, context)[source]ΒΆ
Validate a value.
- Parameters:
value (Any)
context (ValidationContext)
- Return type:
- class haive.core.schema.compatibility.validators.ValidatorBuilder[source]ΒΆ
Builder for creating validators.
- static combine(*validators)[source]ΒΆ
Combine multiple validators into a chain.
- Parameters:
validators (Validator)
- Return type:
- static for_length(min_length=None, max_length=None, field_name='value')[source]ΒΆ
Create length validator.
- Parameters:
- Return type:
- static for_pattern(pattern, field_name='value')[source]ΒΆ
Create regex pattern validator.
- Parameters:
- Return type:
- static for_range(min_value=None, max_value=None, field_name='value')[source]ΒΆ
Create range validator.
- Parameters:
- Return type:
- class haive.core.schema.compatibility.validators.ValidatorChain[source]ΒΆ
Chain multiple validators together.
- async avalidate(value, context=None)[source]ΒΆ
Async validation of chain.
- Parameters:
value (Any)
context (ValidationContext | None)
- Return type:
- validate(value, context=None)[source]ΒΆ
Run all validators in chain.
- Parameters:
value (Any)
context (ValidationContext | None)
- Return type:
- haive.core.schema.compatibility.validators.create_validator(schema_info, custom_validators=None)[source]ΒΆ
Create a model validator from schema info.
- Parameters:
schema_info (haive.core.schema.compatibility.types.SchemaInfo)
custom_validators (dict[str, list[collections.abc.Callable]] | None)
- Return type: