Struct axum_valid::validator::Valid
source · pub struct Valid<E>(pub E);Expand description
Valid data extractor
This extractor can be used in combination with axum’s extractors like
Json, Form, Query, Path, etc to validate their inner data automatically.
It can also work with custom extractors that implement the HasValidate trait.
See the docs for each integration module to find examples of using
Valid with that extractor.
For examples with custom extractors, check out the tests/custom.rs file.
Tuple Fields§
§0: EImplementations§
source§impl<E> Valid<E>
impl<E> Valid<E>
sourcepub fn into_inner(self) -> E
pub fn into_inner(self) -> E
Consume the Valid extractor and returns the inner type.
Trait Implementations§
source§impl<State, Extractor> FromRequest<State> for Valid<Extractor>where
State: Send + Sync,
Extractor: HasValidate + FromRequest<State>,
Extractor::Validate: Validate,
impl<State, Extractor> FromRequest<State> for Valid<Extractor>where
State: Send + Sync,
Extractor: HasValidate + FromRequest<State>,
Extractor::Validate: Validate,
§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> FromRequestParts<State> for Valid<Extractor>where
State: Send + Sync,
Extractor: HasValidate + FromRequestParts<State>,
Extractor::Validate: Validate,
impl<State, Extractor> FromRequestParts<State> for Valid<Extractor>where
State: Send + Sync,
Extractor: HasValidate + FromRequestParts<State>,
Extractor::Validate: Validate,
§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> OperationInput for Valid<T>where
T: OperationInput,
impl<T> OperationInput for Valid<T>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> TypedPath for Valid<T>
impl<T: TypedPath + Display> TypedPath for Valid<T>
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> Copy for Valid<E>
Auto Trait Implementations§
impl<E> RefUnwindSafe for Valid<E>where
E: RefUnwindSafe,
impl<E> Send for Valid<E>where
E: Send,
impl<E> Sync for Valid<E>where
E: Sync,
impl<E> Unpin for Valid<E>where
E: Unpin,
impl<E> UnwindSafe for Valid<E>where
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