Expand description
Content Validation Engine
Executes validation rules against schemas beyond compatibility checking. Supports organizational policies and data quality requirements.
§Validation Rule Types
| Type | Description | Config |
|---|---|---|
MaxSize | Maximum schema size | {"max_bytes": 102400} |
NamingConvention | Name pattern matching | {"pattern": "^[A-Z]", "field": "name"} |
FieldRequired | Required fields | {"field": "doc"} |
FieldType | Field type constraints | {"field": "id", "type": "long"} |
Regex | Content pattern matching | {"pattern": "...", "field": "..."} |
JsonSchema | JSON 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§
- Validation
Engine - Validation engine for executing rules against schemas
- Validation
Engine Config - Configuration for the validation engine