pub struct LengthConstraint { /* private fields */ }Expand description
A unified constraint that checks string length properties of a column.
This constraint replaces the individual length constraints and provides a consistent interface for all length-related checks.
§Examples
use term_guard::constraints::{LengthConstraint, LengthAssertion};
use term_guard::core::Constraint;
// Check minimum length
let min_constraint = LengthConstraint::new("password", LengthAssertion::Min(8));
// Check maximum length
let max_constraint = LengthConstraint::new("username", LengthAssertion::Max(20));
// Check length is between bounds
let between_constraint = LengthConstraint::new("description", LengthAssertion::Between(10, 500));
// Check exact length
let exact_constraint = LengthConstraint::new("code", LengthAssertion::Exactly(6));
// Check not empty
let not_empty_constraint = LengthConstraint::new("name", LengthAssertion::NotEmpty);Implementations§
Source§impl LengthConstraint
impl LengthConstraint
Sourcepub fn new(column: impl Into<String>, assertion: LengthAssertion) -> Self
pub fn new(column: impl Into<String>, assertion: LengthAssertion) -> Self
Creates a new length constraint.
§Arguments
column- The column to checkassertion- The length assertion to evaluate
Sourcepub fn min(column: impl Into<String>, min_length: usize) -> Self
pub fn min(column: impl Into<String>, min_length: usize) -> Self
Creates a minimum length constraint.
Sourcepub fn max(column: impl Into<String>, max_length: usize) -> Self
pub fn max(column: impl Into<String>, max_length: usize) -> Self
Creates a maximum length constraint.
Sourcepub fn between(
column: impl Into<String>,
min_length: usize,
max_length: usize,
) -> Self
pub fn between( column: impl Into<String>, min_length: usize, max_length: usize, ) -> Self
Creates a length constraint that checks if the string length is between bounds (inclusive).
Trait Implementations§
Source§impl Clone for LengthConstraint
impl Clone for LengthConstraint
Source§fn clone(&self) -> LengthConstraint
fn clone(&self) -> LengthConstraint
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Constraint for LengthConstraint
impl Constraint for LengthConstraint
Source§fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 SessionContext,
) -> Pin<Box<dyn Future<Output = Result<ConstraintResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn evaluate<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 SessionContext,
) -> Pin<Box<dyn Future<Output = Result<ConstraintResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluates the constraint against the data in the session context. Read more
Source§fn column(&self) -> Option<&str>
fn column(&self) -> Option<&str>
Returns the column this constraint operates on (if single-column). Read more
Source§fn description(&self) -> Option<&str>
fn description(&self) -> Option<&str>
Returns a description of what this constraint validates. Read more
Source§fn metadata(&self) -> ConstraintMetadata
fn metadata(&self) -> ConstraintMetadata
Returns the metadata associated with this constraint. Read more
Source§impl Debug for LengthConstraint
impl Debug for LengthConstraint
Source§impl<'de> Deserialize<'de> for LengthConstraint
impl<'de> Deserialize<'de> for LengthConstraint
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LengthConstraint
impl RefUnwindSafe for LengthConstraint
impl Send for LengthConstraint
impl Sync for LengthConstraint
impl Unpin for LengthConstraint
impl UnwindSafe for LengthConstraint
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