Skip to main content

Validate

Derive Macro Validate 

Source
#[derive(Validate)]
{
    // Attributes available to this derive:
    #[validate]
}
Expand description

Derives a Validate trait impl.

Supported #[validate(...)] rules:

  • email — email format validation
  • required — non-empty validation
  • length(min=N, max=N) — length range validation
  • range(min=N, max=N) — numeric range validation
  • regex(pattern=r"...") — regex match validation
  • contains(value="...") — contains substring validation
  • does_not_contain(value="...") — does not contain substring validation
  • if = "condition" — conditional validation

§Example

#[derive(Validate)]
struct User {
    #[validate(email)]
    email: String,
    #[validate(length(min=2, max=50))]
    name: String,
    #[validate(range(min=0, max=150))]
    age: i64,
}