Expand description
Declarative post-deserialise validation via [garde] or [validator]
(requires the corresponding feature).
Declarative validation via [garde] or [validator].
Provides Validated<T> (for garde) and ValidatedValidator<T>
(for validator), which are transparent wrappers that run validation
rules after deserialisation.
§Example (garde)
use noyalib::Validated;
use garde::Validate;
#[derive(serde::Deserialize, Validate)]
struct Server {
#[garde(length(min = 1, max = 255))]
host: String,
#[garde(range(min = 1024, max = 65535))]
port: u16,
}
let yaml = "host: db.local\nport: 5432\n";
let wrapped: Validated<Server> = noyalib::from_str(yaml).unwrap();
assert_eq!(wrapped.0.host, "db.local");Structs§
- Validated
- A newtype that validates its inner value using the [
garde] crate. - Validated
Validator - A newtype that validates its inner value using the [
validator] crate.