#[derive(ValidateRules)]
{
// Attributes available to this derive:
#[rule]
}
Expand description
Derive macro for declarative struct validation using Ferro’s rules
Generates Validatable trait implementation from field attributes.
Validation rules are co-located with the struct definition.
This uses Ferro’s Laravel-style validation rules (required(), email(), etc.)
rather than the external validator crate.
§Example
ⓘ
use ferro::ValidateRules;
#[derive(ValidateRules)]
struct CreateUserRequest {
#[rule(required, email)]
email: String,
#[rule(required, min(8))]
password: String,
#[rule(required, integer, min(18))]
age: Option<i32>,
}
// Usage
let request = CreateUserRequest { ... };
request.validate()?;