Exdantic.Runtime.Validator (exdantic v0.0.2)
View SourceValidation functions specifically for runtime schemas.
This module provides validation logic that works with both DynamicSchema and EnhancedSchema, handling the full validation pipeline including model validators and computed fields.
Summary
Functions
Converts a DynamicSchema to an EnhancedSchema.
Checks if a schema supports enhanced features.
Returns information about a runtime schema.
Generates JSON Schema for a runtime schema.
Validates data against a runtime schema (DynamicSchema or EnhancedSchema).
Validates data against a runtime schema, raising on failure.
Functions
@spec enhance_schema( Exdantic.Runtime.DynamicSchema.t(), keyword() ) :: Exdantic.Runtime.EnhancedSchema.t()
Converts a DynamicSchema to an EnhancedSchema.
Parameters
dynamic_schema
- DynamicSchema to convertopts
- Options for enhancement
Options
:model_validators
- Model validators to add:computed_fields
- Computed fields to add
Returns
- EnhancedSchema struct
@spec enhanced_schema?( Exdantic.Runtime.DynamicSchema.t() | Exdantic.Runtime.EnhancedSchema.t() ) :: boolean()
Checks if a schema supports enhanced features.
Parameters
schema
- DynamicSchema or EnhancedSchema struct
Returns
true
if schema supports enhanced features,false
otherwise
@spec schema_info( Exdantic.Runtime.DynamicSchema.t() | Exdantic.Runtime.EnhancedSchema.t() ) :: map()
Returns information about a runtime schema.
Parameters
schema
- DynamicSchema or EnhancedSchema struct
Returns
- Map with schema information
@spec to_json_schema( Exdantic.Runtime.DynamicSchema.t() | Exdantic.Runtime.EnhancedSchema.t(), keyword() ) :: map()
Generates JSON Schema for a runtime schema.
Parameters
schema
- DynamicSchema or EnhancedSchema structopts
- JSON Schema generation options
Returns
- JSON Schema map
@spec validate( map(), Exdantic.Runtime.DynamicSchema.t() | Exdantic.Runtime.EnhancedSchema.t(), keyword() ) :: {:ok, map()} | {:error, [Exdantic.Error.t()]}
Validates data against a runtime schema (DynamicSchema or EnhancedSchema).
Parameters
data
- The data to validateschema
- DynamicSchema or EnhancedSchema structopts
- Validation options
Returns
{:ok, validated_data}
on success{:error, errors}
on validation failure
@spec validate!( map(), Exdantic.Runtime.DynamicSchema.t() | Exdantic.Runtime.EnhancedSchema.t(), keyword() ) :: map()
Validates data against a runtime schema, raising on failure.
Parameters
data
- The data to validateschema
- DynamicSchema or EnhancedSchema structopts
- Validation options
Returns
- Validated data on success
- Raises
Exdantic.ValidationError
on failure