#validation #macro-derive #addition

validator_struct

对validator crate的简单易用扩展

6个版本

0.3.1 2024年4月26日
0.3.0 2024年4月26日
0.2.2 2024年4月26日
0.2.1 2024年2月25日
0.1.0 2024年2月23日

#320 in 进程宏

Download history 2/week @ 2024-04-10 88/week @ 2024-04-17 255/week @ 2024-04-24 16/week @ 2024-05-01 1/week @ 2024-05-29 1/week @ 2024-06-05

每月 428 次下载

MIT 许可证

10KB
195

validator_struct

对validator crate的简单易用扩展。

用法

我们提供了一个简单的 ValidatorStruct derive宏,以使使用validator crate变得更加容易。

它们可以与 Validate derive宏一起使用,如下所示

#[derive(Validate, ValidatorStruct)]
struct SignupData {
    #[validate(email)]
    mail: String,
    #[validate(phone)]
    phone: String,
    #[validate(url)]
    site: String,
    #[validate(length(min = 1), custom = "validate_unique_username")]
    #[serde(rename = "firstName")]
    first_name: String,
    #[validate(range(min = 18, max = 20))]
    age: u32,
}

fn validate_signup_data(data: SignupData) {
  // validate_struct() returns a SignupDataError struct
  // Where each field is replaced by a `Vec<String>`
  data.validate_struct();
}

依赖项

~5–7MB
~155K SLoC