Function rocket::form::validate::contains

source ·
pub fn contains<'v, V, I>(value: V, item: I) -> Result<'v, ()>
where V: Contains<I>,
Expand description

Contains validator: succeeds when a value contains item.

This is the dual of omits(). The value must implement Contains<I> where I is the type of the item. See Contains for supported types and items.

On error, returns a validation error with the following message:

value is equal to an invalid value

If the collection is empty, this validator fails.


use rocket::form::{FromForm, FromFormField};

#[derive(PartialEq, FromFormField)]
enum Pet { Cat, Dog }

struct Foo<'r> {
    best_pet: Pet,
    #[field(validate = contains(Pet::Cat))]
    #[field(validate = contains(&self.best_pet))]
    pets: Vec<Pet>,
    #[field(validate = contains('/'))]
    #[field(validate = contains(&['/', ':']))]
    license: &'r str,
    #[field(validate = contains(""))]
    #[field(validate = contains(|c: char| c.to_ascii_lowercase() == 's'))]
    rust_lang_email: &'r str,