Available on crate features
garde or validator only.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;
use serde::Deserialize;
#[derive(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
garde - A newtype that validates its inner value using the
gardecrate. - Validated
Validator validator - A newtype that validates its inner value using the
validatorcrate.