Skip to main content

Module validation

Module validation 

Source
Expand description

Content Validation Engine

Executes validation rules against schemas beyond compatibility checking. Supports organizational policies and data quality requirements.

§Validation Rule Types

TypeDescriptionConfig
MaxSizeMaximum schema size{"max_bytes": 102400}
NamingConventionName pattern matching{"pattern": "^[A-Z]", "field": "name"}
FieldRequiredRequired fields{"field": "doc"}
FieldTypeField type constraints{"field": "id", "type": "long"}
RegexContent pattern matching{"pattern": "...", "field": "..."}
JsonSchemaJSON Schema validation{"schema": {...}}

§Example

use rivven_schema::validation::{ValidationEngine, ValidationEngineConfig};
use rivven_schema::types::{ValidationRule, ValidationRuleType, SchemaType};

let mut engine = ValidationEngine::new(ValidationEngineConfig::default());

// Add rules
engine.add_rule(ValidationRule::new(
    "max-size",
    ValidationRuleType::MaxSize,
    r#"{"max_bytes": 102400}"#,
));

// Validate a schema
let report = engine.validate(SchemaType::Avro, "users-value", schema_str)?;
if !report.is_valid() {
    println!("Validation errors: {:?}", report.error_messages());
}

Modules§

presets
Common validation rules presets

Structs§

ValidationEngine
Validation engine for executing rules against schemas
ValidationEngineConfig
Configuration for the validation engine