Skip to content

ValidationError

Raised when configuration fails JSON Schema validation.

When It's Raised

  • Required property is missing
  • Value doesn't match expected type
  • Value fails pattern or format validation
  • Value outside min/max bounds
  • Additional properties when not allowed

Example

from holoconf import Config, Schema, ValidationError

config = Config.loads("""
database:
  port: -1
""")

schema = Schema.from_json("""
{
  "type": "object",
  "properties": {
    "database": {
      "type": "object",
      "properties": {
        "port": {"type": "integer", "minimum": 1, "maximum": 65535}
      }
    }
  }
}
""")

try:
    config.validate(schema)
except ValidationError as e:
    print(f"Validation failed: {e}")
    # Validation failed: -1 is less than the minimum of 1 at path 'database.port'

Collecting All Errors

To get all validation errors instead of failing on the first:

errors = config.validate_collect(schema)
if errors:
    print("Validation errors:")
    for error in errors:
        print(f"  - {error}")

Class Reference

Bases: HoloconfError

Schema validation error.

Raised when configuration fails to validate against a JSON Schema. Common causes include missing required fields, type mismatches, and constraint violations.