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,
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,
Available on crate feature aide only.
impl<T> OperationInput for Valid<T>where
T: OperationInput,
Available on crate feature
aide only.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>
Available on crate feature validator only.
impl<T: TypedPath + Display> TypedPath for Valid<T>
Available on crate feature
validator only.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§fn from_request(
req: Request<Body>,
state: &S,
) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
fn from_request( req: Request<Body>, state: &S, ) -> impl Future<Output = 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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