Module v2

Module v2 

Source
Expand description

V2 validation engine with async support.

This module provides a custom validation engine that replaces the external validator dependency and adds support for async validation operations.

§RustAPI Validation Engine v2

A custom validation engine with async support, replacing the external validator dependency.

§Features

  • Sync and async validation support
  • Database uniqueness/existence checks
  • External API validation
  • Custom error messages with interpolation
  • Validation groups (Create, Update, Custom)
  • Serializable validation rules

§Example

use rustapi_validate::v2::prelude::*;

struct CreateUser {
    email: String,
    username: String,
}

impl Validate for CreateUser {
    fn validate(&self) -> Result<(), ValidationErrors> {
        let mut errors = ValidationErrors::new();
         
        if let Err(e) = EmailRule::default().validate(&self.email) {
            errors.add("email", e);
        }
         
        if let Err(e) = LengthRule::new(3, 50).validate(&self.username) {
            errors.add("username", e);
        }
         
        errors.into_result()
    }
}

Modules§

prelude
Prelude module for v2 validation

Structs§

AsyncApiRule
External API validation rule.
AsyncExistsRule
Database existence validation rule.
AsyncUniqueRule
Database uniqueness validation rule.
EmailRule
Email format validation rule.
GroupedRule
A validation rule with an associated group.
GroupedRules
A collection of grouped validation rules for a field.
LengthRule
String length validation rule.
RangeRule
Numeric range validation rule.
RegexRule
Regex pattern validation rule.
RequiredRule
Required (non-empty) validation rule.
RuleError
Error from a single validation rule.
UrlRule
URL format validation rule.
ValidationContext
Context for async validation operations.
ValidationContextBuilder
Builder for constructing a ValidationContext.
ValidationErrors
Collection of validation errors for multiple fields.

Enums§

SerializableRule
Wrapper for serializable validation rules.
ValidationGroup
Validation groups for applying different rules based on operation type.

Traits§

AsyncValidate
Trait for asynchronous validation of a struct.
AsyncValidationRule
Trait for async validation rules.
DatabaseValidator
Trait for database validation operations.
HttpValidator
Trait for HTTP/API validation operations.
Validate
Trait for synchronous validation of a struct.
ValidationRule
Trait for individual validation rules.