Function rocket::form::validate::one_of

source ·
pub fn one_of<'v, V, I, R>(value: V, items: R) -> Result<'v, ()>where
    V: Contains<I>,
    I: Debug,
    R: IntoIterator<Item = I>,
    <R as IntoIterator>::IntoIter: Clone,
Expand description

Contains one of validator: succeeds when a value contains at least one item in an items iterator.

The value must implement Contains<I> where I is the type of the item. The iterator must be Clone. See Contains for supported types and items. The item must be Debug.

On failure, returns a InvalidChoice error with the debug representation of each item in items.

Example

use rocket::form::FromForm;

#[derive(FromForm)]
struct Foo<'r> {
    #[field(validate = one_of(&[3, 5, 7]))]
    single_digit_primes: Vec<u8>,
    #[field(validate = one_of(" \t\n".chars()))]
    has_space_char: &'r str,
    #[field(validate = one_of(" \t\n".chars()).and_then(msg!("no spaces")))]
    no_space: &'r str,
}