Crate zisvalidator_derive[][src]

Zisvalidator Derive

Provide Zisvalidator derive macro

use zisvalidator_derive::Validate;
#[derive(Validate)]
struct S;
fn main{}

Validate for Struct and Enum

#[derive(Validate)]
struct S(String);               //validate tuple struct with 1 element

#[derive(Validate)]
struct S(String,u64,);          //validate tuple struct with mulitple elements

#[derive(Validate)]
struct S{                       //validate struct with fields
    str:String
}

#[derive(Validate)]
enum E{                         //validate enum
    S(String),                  //validate tuple varient with 1 element
    tuple(String,String,),      //validate tuple varient with multiple element
    Nested{                     //validate varient with fields
        field:String,
    }
}

Usage

Validate Attribute Categories

#[derive(Validate)]
#[validate(attr = "foo")]          //<-- Container Attribute
struct S{
    #[validate(attr = "foo")]      //<--  Field Attribute
    field:String
}

#[derive(Validate)]
enum E{
    #[validate(attr = "foo")]       //<-- Variant Attribute
    A(String)
}

Container Attribute

Schema

  • #[validate(schema = “path”)]

Derive Macros

Validate