pub struct ZF32 { /* private fields */ }Expand description
Schema for f32 numbers. Created via vld::f32().
Values outside the finite f32 range fail with too_small / too_big
(origin number). Bounds and the input are compared at f32 precision
(via their shortest decimal form), so vld::f32().max(0.1) accepts 0.1,
multiple_of(0.1) accepts 0.3, and messages print 0.1.
JSON Schema: {"type": "number", "format": "float"} plus bounds.
§Example
use vld::prelude::*;
let ratio: f32 = vld::f32().min(0.0).max(1.0).parse("0.25").unwrap();
assert_eq!(ratio, 0.25);
assert!(vld::f32().parse("1e39").is_err()); // above f32::MAXImplementations§
Source§impl ZF32
impl ZF32
Sourcepub fn type_error(self, msg: impl Into<String>) -> ZF32
pub fn type_error(self, msg: impl Into<String>) -> ZF32
Set a custom error message for type mismatch (non-number input).
Sourcepub fn with_messages<F>(self, f: F) -> ZF32
pub fn with_messages<F>(self, f: F) -> ZF32
Override error messages in bulk by check key (see ZNumber::with_messages).
Sourcepub fn multiple_of(self, val: f32) -> ZF32
pub fn multiple_of(self, val: f32) -> ZF32
Must be a multiple of the given value (0 never matches).
Sourcepub fn non_negative(self) -> ZF32
pub fn non_negative(self) -> ZF32
Must be non-negative (>= 0).
Sourcepub fn non_positive(self) -> ZF32
pub fn non_positive(self) -> ZF32
Must be non-positive (<= 0).
Trait Implementations§
Source§impl VldSchema for ZF32
impl VldSchema for ZF32
Source§fn parse_value(&self, value: &Value) -> Result<f32, VldError>
fn parse_value(&self, value: &Value) -> Result<f32, VldError>
Parse and validate a
serde_json::Value.Source§fn parse<I>(&self, input: &I) -> Result<Self::Output, VldError>
fn parse<I>(&self, input: &I) -> Result<Self::Output, VldError>
Parse from any supported input (JSON string, file path,
serde_json::Value, etc.)Source§fn validate<T>(&self, value: &T) -> Result<Self::Output, VldError>where
T: Serialize,
fn validate<T>(&self, value: &T) -> Result<Self::Output, VldError>where
T: Serialize,
Validate an existing Rust value against this schema. Read more
Source§fn is_valid<T>(&self, value: &T) -> boolwhere
T: Serialize,
fn is_valid<T>(&self, value: &T) -> boolwhere
T: Serialize,
Check if an existing Rust value passes this schema’s validation. Read more
Source§fn optional(self) -> ZOptional<Self>
fn optional(self) -> ZOptional<Self>
Make this field optional. Missing or null values become
None.Source§fn with_default(self, value: Self::Output) -> ZDefault<Self>
fn with_default(self, value: Self::Output) -> ZDefault<Self>
Provide a default value when the field is missing or null.
Source§fn refine<F>(self, check: F, message: &str) -> ZRefine<Self, F>
fn refine<F>(self, check: F, message: &str) -> ZRefine<Self, F>
Add a custom refinement check without changing the output type.
Source§fn transform<F, U>(self, f: F) -> ZTransform<Self, F, U>
fn transform<F, U>(self, f: F) -> ZTransform<Self, F, U>
Transform the output value after successful parsing.
Source§fn catch(self, fallback: Self::Output) -> ZCatch<Self>
fn catch(self, fallback: Self::Output) -> ZCatch<Self>
Return a fallback value on ANY validation error.
Source§fn pipe<S>(self, next: S) -> ZPipe<Self, S>
fn pipe<S>(self, next: S) -> ZPipe<Self, S>
Chain this schema’s output into another schema. Read more
Source§fn describe(self, description: &str) -> ZDescribe<Self>
fn describe(self, description: &str) -> ZDescribe<Self>
Attach a human-readable description/label to this schema. Read more
Source§fn super_refine<F>(self, check: F) -> ZSuperRefine<Self, F>
fn super_refine<F>(self, check: F) -> ZSuperRefine<Self, F>
Add a custom refinement that can produce multiple errors. Read more
Source§fn or<B>(self, other: B) -> ZUnion2<Self, B>where
B: VldSchema,
fn or<B>(self, other: B) -> ZUnion2<Self, B>where
B: VldSchema,
Create a union: this schema or another. Returns
Either<Self::Output, B::Output>.Source§fn and<B>(self, other: B) -> ZIntersection<Self, B>where
B: VldSchema,
fn and<B>(self, other: B) -> ZIntersection<Self, B>where
B: VldSchema,
Create an intersection: input must satisfy both schemas.
Auto Trait Implementations§
impl !RefUnwindSafe for ZF32
impl !UnwindSafe for ZF32
impl Forget for ZF32
impl Freeze for ZF32
impl Send for ZF32
impl Sync for ZF32
impl Unpin for ZF32
impl UnsafeUnpin for ZF32
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<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 more