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: E
Implementations§
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,
Source§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§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,
Source§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§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> Freeze for Valid<E>where
E: Freeze,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
Source§type Rejection = <T as FromRequestParts<S>>::Rejection
type Rejection = <T as FromRequestParts<S>>::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§async fn from_request(
req: Request<Body>,
state: &S,
) -> Result<T, <T as FromRequest<S, ViaParts>>::Rejection>
async fn from_request( req: Request<Body>, state: &S, ) -> Result<T, <T as FromRequest<S, ViaParts>>::Rejection>
Perform the extraction.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string()
Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString
. Read moreSource§impl<T> ValidateIp for Twhere
T: ToString,
impl<T> ValidateIp for Twhere
T: ToString,
Source§fn validate_ipv4(&self) -> bool
fn validate_ipv4(&self) -> bool
Validates whether the given string is an IP V4
Source§fn validate_ipv6(&self) -> bool
fn validate_ipv6(&self) -> bool
Validates whether the given string is an IP V6
Source§fn validate_ip(&self) -> bool
fn validate_ip(&self) -> bool
Validates whether the given string is an IP