Exdantic.Runtime.Validator (exdantic v0.0.2)

View Source

Validation 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

enhance_schema(dynamic_schema, opts \\ [])

Converts a DynamicSchema to an EnhancedSchema.

Parameters

  • dynamic_schema - DynamicSchema to convert
  • opts - Options for enhancement

Options

  • :model_validators - Model validators to add
  • :computed_fields - Computed fields to add

Returns

  • EnhancedSchema struct

enhanced_schema?(arg1)

Checks if a schema supports enhanced features.

Parameters

  • schema - DynamicSchema or EnhancedSchema struct

Returns

  • true if schema supports enhanced features, false otherwise

schema_info(schema)

Returns information about a runtime schema.

Parameters

  • schema - DynamicSchema or EnhancedSchema struct

Returns

  • Map with schema information

to_json_schema(schema, opts \\ [])

Generates JSON Schema for a runtime schema.

Parameters

  • schema - DynamicSchema or EnhancedSchema struct
  • opts - JSON Schema generation options

Returns

  • JSON Schema map

validate(data, schema, opts \\ [])

@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 validate
  • schema - DynamicSchema or EnhancedSchema struct
  • opts - Validation options

Returns

  • {:ok, validated_data} on success
  • {:error, errors} on validation failure

validate!(data, schema, opts \\ [])

Validates data against a runtime schema, raising on failure.

Parameters

  • data - The data to validate
  • schema - DynamicSchema or EnhancedSchema struct
  • opts - Validation options

Returns