macro_rules! require {
(|$field:ident $(: $type: ty)?| $expr: expr, $message: literal) => { ... };
($required_pattern: pat) => { ... };
($required_pattern: pat, $message: literal) => { ... };
}Expand description
Helper for #[jsony(validate = ..)] attribute
ยงExample
use jsony::{Jsony, require};
#[derive(Jsony)]
struct Field {
// Closure requirement
#[jsony(validate = require!(|v| *v > 10, "value must be greater than 10"))]
value: u32,
// Pattern requirement
#[jsony(validate = require!(5..20, "value must be between 4 and 20"))]
other: u32,
// Pattern requirement with implicit method
#[jsony(validate = require!((5..20) | (30..50)))]
last: u32,
}