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 charactersMasked error:
value is longer than 5 charactersStructs§
- Error
Iterator - A lazily-evaluated iterator over validation errors.
- Masked
Validation Error - A wrapper that provides a masked display of validation errors.
- Validation
Error - An error that can occur during validation.
- Validation
Errors - An owned collection of validation errors that implements
std::error::Error.
Enums§
- Type
Kind - Validation
Error Kind - Kinds of errors that may happen during validation