Skip to main content

Validate

Trait Validate 

Source
pub trait Validate {
    // Provided methods
    fn prepare(_input: &mut Value, _ctx: &mut ValidationContext) { ... }
    fn validate(&self, _ctx: &mut ValidationContext) { ... }
}
Expand description

A type that takes part in validation.

Both methods default to doing nothing, so opting a type in is a one-line impl Validate for T {}. #[derive(Validate)] generates both.

Provided Methods§

Source

fn prepare(_input: &mut Value, _ctx: &mut ValidationContext)

Check and normalise the raw input for this type in place.

Source

fn validate(&self, _ctx: &mut ValidationContext)

Check invariants of the deserialized value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Validate for Map<String, Value>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for String

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for Value

Source§

impl Validate for bool

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for char

Source§

impl Validate for f32

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for f64

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for i8

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for i16

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for i32

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for i64

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for i128

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for isize

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for u8

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for u16

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for u32

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for u64

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for u128

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl Validate for usize

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

impl<A: Validate, B: Validate, C: Validate, D: Validate> Validate for (A, B, C, D)

Tuples (e.g. positional path parameters) validate each element.

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<A: Validate, B: Validate, C: Validate> Validate for (A, B, C)

Tuples (e.g. positional path parameters) validate each element.

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<A: Validate, B: Validate> Validate for (A, B)

Tuples (e.g. positional path parameters) validate each element.

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<A: Validate> Validate for (A,)

Tuples (e.g. positional path parameters) validate each element.

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<T: Validate + ?Sized> Validate for Box<T>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<T: Validate, S> Validate for HashMap<String, T, S>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<T: Validate> Validate for BTreeMap<String, T>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<T: Validate> Validate for Option<T>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

fn validate(&self, ctx: &mut ValidationContext)

Source§

impl<T: Validate> Validate for Vec<T>

Source§

fn prepare(input: &mut Value, ctx: &mut ValidationContext)

Source§

fn validate(&self, ctx: &mut ValidationContext)

Implementors§

Source§

impl Validate for Email

Source§

impl Validate for HttpUrl

Source§

impl Validate for IpAddress

Source§

impl Validate for Ipv4Address

Source§

impl Validate for Ipv6Address

Source§

impl Validate for NegativeInt

Source§

impl Validate for NonNegativeInt

Source§

impl Validate for PositiveInt

Source§

impl Validate for SecretString

Source§

impl Validate for Url

Source§

impl Validate for Uuid

Source§

impl<B: FloatBounds> Validate for BoundedFloat<B>

Source§

impl<T: Validate, const MIN: usize, const MAX: usize> Validate for ConstrainedVec<T, MIN, MAX>

Source§

impl<T: Validate> Validate for Change<T>

Source§

impl<const MAX_DIGITS: u32, const DECIMAL_PLACES: u32> Validate for Decimal<MAX_DIGITS, DECIMAL_PLACES>

Source§

impl<const MIN: i64, const MAX: i64> Validate for BoundedI64<MIN, MAX>

Source§

impl<const MIN: usize, const MAX: usize> Validate for ConstrainedString<MIN, MAX>