Skip to main content

require

Macro require 

Source
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,
}