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§
- Async
ApiRule - External API validation rule.
- Async
Exists Rule - Database existence validation rule.
- Async
Unique Rule - Database uniqueness validation rule.
- Email
Rule - Email format validation rule.
- Grouped
Rule - A validation rule with an associated group.
- Grouped
Rules - A collection of grouped validation rules for a field.
- Length
Rule - String length validation rule.
- Range
Rule - Numeric range validation rule.
- Regex
Rule - Regex pattern validation rule.
- Required
Rule - Required (non-empty) validation rule.
- Rule
Error - Error from a single validation rule.
- UrlRule
- URL format validation rule.
- Validation
Context - Context for async validation operations.
- Validation
Context Builder - Builder for constructing a
ValidationContext. - Validation
Errors - Collection of validation errors for multiple fields.
Enums§
- Serializable
Rule - Wrapper for serializable validation rules.
- Validation
Group - Validation groups for applying different rules based on operation type.
Traits§
- Async
Validate - Trait for asynchronous validation of a struct.
- Async
Validation Rule - Trait for async validation rules.
- Database
Validator - Trait for database validation operations.
- Http
Validator - Trait for HTTP/API validation operations.
- Validate
- Trait for synchronous validation of a struct.
- Validation
Rule - Trait for individual validation rules.