pub enum ValidationGroup {
Create,
Update,
Custom(String),
Default,
}Expand description
Validation groups for applying different rules based on operation type.
§Example
ⓘ
use rustapi_validate::v2::prelude::*;
struct User {
id: Option<i64>,
email: String,
}
impl User {
fn validate_for_group(&self, group: ValidationGroup) -> Result<(), ValidationErrors> {
let mut errors = ValidationErrors::new();
// Email is always required
if let Err(e) = EmailRule::default().validate(&self.email) {
errors.add("email", e);
}
// ID is required only for updates
if group == ValidationGroup::Update && self.id.is_none() {
errors.add("id", RuleError::new("required", "ID is required for updates"));
}
errors.into_result()
}
}Variants§
Create
Validation rules for creating new records
Update
Validation rules for updating existing records
Custom(String)
Custom validation group with a name
Default
Default group - applies to all operations
Implementations§
Trait Implementations§
Source§impl Clone for ValidationGroup
impl Clone for ValidationGroup
Source§fn clone(&self) -> ValidationGroup
fn clone(&self) -> ValidationGroup
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 Debug for ValidationGroup
impl Debug for ValidationGroup
Source§impl Default for ValidationGroup
impl Default for ValidationGroup
Source§fn default() -> ValidationGroup
fn default() -> ValidationGroup
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ValidationGroup
impl<'de> Deserialize<'de> for ValidationGroup
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
Source§impl Display for ValidationGroup
impl Display for ValidationGroup
Source§impl From<&str> for ValidationGroup
impl From<&str> for ValidationGroup
Source§impl Hash for ValidationGroup
impl Hash for ValidationGroup
Source§impl PartialEq for ValidationGroup
impl PartialEq for ValidationGroup
Source§impl Serialize for ValidationGroup
impl Serialize for ValidationGroup
impl Eq for ValidationGroup
impl StructuralPartialEq for ValidationGroup
Auto Trait Implementations§
impl Freeze for ValidationGroup
impl RefUnwindSafe for ValidationGroup
impl Send for ValidationGroup
impl Sync for ValidationGroup
impl Unpin for ValidationGroup
impl UnwindSafe for ValidationGroup
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> 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