pub struct ValidationConfig {
pub draft: SchemaDraft,
pub collect_all_errors: bool,
pub max_errors: Option<usize>,
pub validate_formats: bool,
}Expand description
JSON Schema validation configuration
Controls how validation is performed, including which draft version to use and how errors are collected.
§Examples
ⓘ
use hedl_json::validation::{ValidationConfig, SchemaDraft};
// Strict validation with all errors
let strict = ValidationConfig {
draft: SchemaDraft::Draft7,
collect_all_errors: true,
max_errors: None,
validate_formats: true,
};
// Lenient validation - stop at first error
let lenient = ValidationConfig {
draft: SchemaDraft::Draft7,
collect_all_errors: false,
max_errors: Some(1),
validate_formats: false,
};Fields§
§draft: SchemaDraftJSON Schema draft version to use
Supported drafts:
SchemaDraft::Draft4: JSON Schema Draft 4SchemaDraft::Draft6: JSON Schema Draft 6SchemaDraft::Draft7: JSON Schema Draft 7 (recommended)SchemaDraft::Draft201909: JSON Schema Draft 2019-09SchemaDraft::Draft202012: JSON Schema Draft 2020-12
collect_all_errors: boolContinue validation after first error
When true, collects all errors in the document.
When false, stops at the first error (faster for invalid docs).
max_errors: Option<usize>Maximum errors to collect before stopping
None means collect all errors (when collect_all_errors is true).
Useful for limiting memory usage with highly invalid documents.
validate_formats: boolEnable format validation
When true, validates format keywords like “email”, “uri”, “date-time”.
When false, format keywords are ignored (faster, more permissive).
Trait Implementations§
Source§impl Clone for ValidationConfig
impl Clone for ValidationConfig
Source§fn clone(&self) -> ValidationConfig
fn clone(&self) -> ValidationConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ValidationConfig
impl Debug for ValidationConfig
Auto Trait Implementations§
impl Freeze for ValidationConfig
impl RefUnwindSafe for ValidationConfig
impl Send for ValidationConfig
impl Sync for ValidationConfig
impl Unpin for ValidationConfig
impl UnwindSafe for ValidationConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more