honk/validation/field

Values

pub fn dispatch_data_validation(
  data: json.Json,
  schema: json.Json,
  ctx: context.ValidationContext,
) -> Result(Nil, errors.ValidationError)

Dispatches data validation to the appropriate type-specific validator.

This is the central dispatcher that routes validation based on the schema’s type field. Handles all primitive types (string, integer, boolean, etc.), field types (object, array, union, ref), and meta types (token, unknown).

Made public to allow reference validators to recursively validate resolved schemas. Typically set as the validator function in ValidationContext via context.with_validator(field.dispatch_data_validation).

Example

let schema = json.object([
  #("type", json.string("string")),
  #("maxLength", json.int(100)),
])
let data = json.string("Hello")

field.dispatch_data_validation(data, schema, ctx)
// => Ok(Nil) if valid, Error(...) if invalid
pub fn validate_array_data(
  data: json.Json,
  schema: json.Json,
  ctx: context.ValidationContext,
) -> Result(Nil, errors.ValidationError)

Validates array data against schema

pub fn validate_array_schema(
  schema: json.Json,
  ctx: context.ValidationContext,
) -> Result(Nil, errors.ValidationError)

Validates array schema definition

pub fn validate_object_data(
  data: json.Json,
  schema: json.Json,
  ctx: context.ValidationContext,
) -> Result(Nil, errors.ValidationError)

Validates object data against schema

pub fn validate_object_schema(
  schema: json.Json,
  ctx: context.ValidationContext,
) -> Result(Nil, errors.ValidationError)

Validates object schema definition

Search Document