How to Handle Request Validation in Rust (validator crate)
Use the validator crate by adding it to Cargo.toml and applying attribute macros to your struct fields to define validation rules.
[dependencies]
validator = "0.18"
use validator::Validate;
#[derive(Validate)]
struct User {
#[validate(length(min = 3, max = 25), email)]
email: String,
#[validate(length(min = 8))]
password: String,
}
fn main() {
let user = User {
email: "short@x.com".to_string(),
password: "123".to_string(),
};
match user.validate() {
Ok(_) => println!("Valid!"),
Err(e) => println!("Validation failed: {e}"),
}
}