# `JSONSchex.Validator.Keywords`
[🔗](https://github.com/xinz/jsonschex/blob/main/lib/jsonschex/validator/keywords.ex#L1)

Runtime validation functions for complex JSON Schema keywords.

Called by the rule dispatcher generated from compiled schemas. Each function returns
`:ok`, `{:ok, evaluated_keys}`, or `{:error, errors}`.

# `collect_additional_keys`

Collects additional property keys as evaluated without validation.
Used when the `additionalProperties` sub-schema always passes (e.g., `true`).

# `validate_additional_properties`

Validates additional properties not covered by `properties` or `patternProperties`.

# `validate_allOf`

Validates data against all schemas in an `allOf` array.

# `validate_anyOf`

Validates data against schemas in an `anyOf` array.

# `validate_contains`

Validates array items against a `contains` schema with min/max constraints.

# `validate_content_schema`

Validates content against a schema after decoding (`contentSchema`).
Only active when `content_assertion: true`.

# `validate_dependent_required`

Validates dependent required properties (`dependentRequired`).

# `validate_dependent_schemas`

Validates an object against dependent schemas (`dependentSchemas`).
Also used by the legacy `dependencies` keyword for schema-valued entries.

# `validate_if`

Validates data against an `if`/`then`/`else` conditional schema.

# `validate_items_array`

Validates array items starting from a given index (`items`).

# `validate_not`

Validates data against a `not` schema. The schema must NOT match.

# `validate_oneOf`

Validates data against schemas in a `oneOf` array.
Exactly one schema must pass.

# `validate_pattern_properties`

Validates object properties against pattern-based schemas (`patternProperties`).

# `validate_prefix_items`

Validates array items against prefix schemas (`prefixItems`).

# `validate_properties_map`

Validates an object's properties against a map of compiled schemas.
Returns evaluated property keys on success.

# `validate_property_names`

Validates property names against a schema (`propertyNames`).

# `validate_unevaluated_items`

Validates unevaluated array items against a schema.

# `validate_unevaluated_props`

Validates unevaluated properties against a schema.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
