2个版本
0.1.1 | 2023年1月8日 |
---|---|
0.1.0 | 2023年1月4日 |
#1983 在 Rust模式
4KB
has_fields
一些处理可选字段表单的宏。
使用方法
例如,如果你有一个这样的表单
let form = MyForm {
id: 1,
name: Some("name".to_string()),
email: Some("[email protected]".to_string()),
phone: None,
}
以下是一些可能帮助你的宏
-
has_fields::has_fields!
:检查一个结构体是否有某些字段。返回布尔值。has_fields!(form, "name", "email") // true
-
has_fields::require_fields
:检查一个结构体是否有某些字段。返回一个Result<(), Vec<&'static str>>
。require_fields!(form, "name", "email") // Ok(()) require_fields!(form, "name", "email", "phone") // Err(vec!["phone"])
此外,你可以为你的结构体派生HasFields
特质,并使用这些方法
-
num_fields
:获取结构体中非可选字段的数量。form.num_fields() // 2
许可证
Unlicense
贡献
如果你有任何想法,请随时提交问题或PR。
依赖项
~1.5MB
~35K SLoC