Skip to main content

Module error

Module error 

Source
Expand description

§Error Handling

§Masking Sensitive Data

When working with sensitive data, you might want to hide actual values from error messages. The ValidationError type provides methods to mask instance values while preserving the error context:

use serde_json::json;

let schema = json!({"maxLength": 5});
let instance = json!("sensitive data");
let validator = jsonschema::validator_for(&schema)?;

if let Err(error) = validator.validate(&instance) {
    // Use default masking (replaces values with "value")
    println!("Masked error: {}", error.masked());
    // Or provide custom placeholder
    println!("Custom masked: {}", error.masked_with("[REDACTED]"));
}

The masked error messages will replace instance values with placeholders while maintaining schema-related information like property names, limits, and types.

Original error:

"sensitive data" is longer than 5 characters

Masked error:

value is longer than 5 characters

Structs§

ErrorIterator
A lazily-evaluated iterator over validation errors.
MaskedValidationError
A wrapper that provides a masked display of validation errors.
ValidationError
An error that can occur during validation.
ValidationErrors
An owned collection of validation errors that implements std::error::Error.

Enums§

TypeKind
ValidationErrorKind
Kinds of errors that may happen during validation