pub struct UniquenessValidator {
pub scope: Vec<String>,
pub case_sensitive: bool,
pub message: Option<String>,
pub check: Option<Box<dyn Fn(&str, &Value) -> bool + Send + Sync>>,
/* private fields */
}Expand description
Validates that a value is unique via an injected lookup function.
Fields§
§scope: Vec<String>Additional attributes that define uniqueness scope.
case_sensitive: boolWhether string comparisons should preserve case.
message: Option<String>Custom message used when the value is taken.
check: Option<Box<dyn Fn(&str, &Value) -> bool + Send + Sync>>Lookup function supplied by higher layers with storage access.
Implementations§
Source§impl UniquenessValidator
impl UniquenessValidator
Sourcepub fn allow_blank(self) -> Self
pub fn allow_blank(self) -> Self
Skips validation when the attribute value is blank.
Sourcepub fn on(self, contexts: Vec<ValidationContext>) -> Self
pub fn on(self, contexts: Vec<ValidationContext>) -> Self
Restricts the validator to the provided contexts.
Sourcepub fn if_cond<F>(self, cond: F) -> Self
pub fn if_cond<F>(self, cond: F) -> Self
Runs the validator only when the predicate returns true.
Sourcepub fn unless_cond<F>(self, cond: F) -> Self
pub fn unless_cond<F>(self, cond: F) -> Self
Skips the validator when the predicate returns true.
Sourcepub fn with_check<F>(self, check: F) -> Self
pub fn with_check<F>(self, check: F) -> Self
Registers a uniqueness check where true means the value is unique.
Trait Implementations§
Source§impl Debug for UniquenessValidator
impl Debug for UniquenessValidator
Source§impl Default for UniquenessValidator
impl Default for UniquenessValidator
Source§fn default() -> UniquenessValidator
fn default() -> UniquenessValidator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for UniquenessValidator
impl !RefUnwindSafe for UniquenessValidator
impl Send for UniquenessValidator
impl Sync for UniquenessValidator
impl Unpin for UniquenessValidator
impl UnsafeUnpin for UniquenessValidator
impl !UnwindSafe for UniquenessValidator
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> 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