Struct axum_valid::validator::ValidEx
source · pub struct ValidEx<E, A>(pub E, pub A);Expand description
ValidEx data extractor
ValidEx can be incorporated with extractors from various modules, similar to Valid.
Two differences exist between ValidEx and Valid:
- The inner data type in
ValidEximplementsValidateArgsinstead ofValidate. ValidExincludes a second field that represents arguments used during validation of the first field.
The implementation of ValidateArgs is often automatically handled by validator’s derive macros
(for more details, please refer to the validator’s documentation).
Although current module documentation predominantly showcases Valid examples, the usage of ValidEx is analogous.
Tuple Fields§
§0: E§1: AImplementations§
source§impl<E, A> ValidEx<E, A>
impl<E, A> ValidEx<E, A>
sourcepub fn into_inner(self) -> E
pub fn into_inner(self) -> E
Consumes the ValidEx and returns the validated data within.
This returns the E type which represents the data that has been
successfully validated.
sourcepub fn arguments<'a>(
&'a self
) -> <<A as Arguments<'a>>::T as ValidateArgs<'a>>::Argswhere
A: Arguments<'a>,
pub fn arguments<'a>(
&'a self
) -> <<A as Arguments<'a>>::T as ValidateArgs<'a>>::Argswhere
A: Arguments<'a>,
Returns a reference to the validation arguments.
This provides access to the A type which contains the arguments used
to validate the data. These arguments were passed to the validation
function.
Trait Implementations§
source§impl<State, Extractor, Args> FromRequest<State> for ValidEx<Extractor, Args>where
State: Send + Sync,
Args: Send + Sync + FromRef<State> + for<'a> Arguments<'a, T = <Extractor as HasValidateArgs<'a>>::ValidateArgs>,
Extractor: for<'v> HasValidateArgs<'v> + FromRequest<State>,
impl<State, Extractor, Args> FromRequest<State> for ValidEx<Extractor, Args>where
State: Send + Sync,
Args: Send + Sync + FromRef<State> + for<'a> Arguments<'a, T = <Extractor as HasValidateArgs<'a>>::ValidateArgs>,
Extractor: for<'v> HasValidateArgs<'v> + FromRequest<State>,
§type Rejection = ValidationRejection<ValidationErrors, <Extractor as FromRequest<State>>::Rejection>
type Rejection = ValidationRejection<ValidationErrors, <Extractor as FromRequest<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
source§fn from_request<'life0, 'async_trait>(
req: Request,
state: &'life0 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn from_request<'life0, 'async_trait>(
req: Request,
state: &'life0 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Perform the extraction.
source§impl<State, Extractor, Args> FromRequestParts<State> for ValidEx<Extractor, Args>where
State: Send + Sync,
Args: Send + Sync + FromRef<State> + for<'a> Arguments<'a, T = <Extractor as HasValidateArgs<'a>>::ValidateArgs>,
Extractor: for<'v> HasValidateArgs<'v> + FromRequestParts<State>,
impl<State, Extractor, Args> FromRequestParts<State> for ValidEx<Extractor, Args>where
State: Send + Sync,
Args: Send + Sync + FromRef<State> + for<'a> Arguments<'a, T = <Extractor as HasValidateArgs<'a>>::ValidateArgs>,
Extractor: for<'v> HasValidateArgs<'v> + FromRequestParts<State>,
§type Rejection = ValidationRejection<ValidationErrors, <Extractor as FromRequestParts<State>>::Rejection>
type Rejection = ValidationRejection<ValidationErrors, <Extractor as FromRequestParts<State>>::Rejection>
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
source§fn from_request_parts<'life0, 'life1, 'async_trait>(
parts: &'life0 mut Parts,
state: &'life1 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn from_request_parts<'life0, 'life1, 'async_trait>(
parts: &'life0 mut Parts,
state: &'life1 State
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Perform the extraction.
source§impl<T, A> OperationInput for ValidEx<T, A>where
T: OperationInput,
impl<T, A> OperationInput for ValidEx<T, A>where
T: OperationInput,
source§fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
fn operation_input(ctx: &mut GenContext, operation: &mut Operation)
Modify the operation. Read more
source§fn inferred_early_responses(
ctx: &mut GenContext,
operation: &mut Operation
) -> Vec<(Option<u16>, Response)>
fn inferred_early_responses( ctx: &mut GenContext, operation: &mut Operation ) -> Vec<(Option<u16>, Response)>
Inferred early responses are used to document early returns for
extractors, guards inside handlers. For example these could represent
JSON parsing errors, authentication failures. Read more
source§impl<T: TypedPath + Display, A> TypedPath for ValidEx<T, A>
impl<T: TypedPath + Display, A> TypedPath for ValidEx<T, A>
source§fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
fn with_query_params<T>(self, params: T) -> WithQueryParams<Self, T>
Add query parameters to a path. Read more
impl<E: Copy, A: Copy> Copy for ValidEx<E, A>
Auto Trait Implementations§
impl<E, A> RefUnwindSafe for ValidEx<E, A>where
A: RefUnwindSafe,
E: RefUnwindSafe,
impl<E, A> Send for ValidEx<E, A>
impl<E, A> Sync for ValidEx<E, A>
impl<E, A> Unpin for ValidEx<E, A>
impl<E, A> UnwindSafe for ValidEx<E, A>where
A: UnwindSafe,
E: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a [
CompactString]. Read more