aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'validator_derive/src/lib.rs')
-rw-r--r--validator_derive/src/lib.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/validator_derive/src/lib.rs b/validator_derive/src/lib.rs
index 1298006..9cfc381 100644
--- a/validator_derive/src/lib.rs
+++ b/validator_derive/src/lib.rs
@@ -256,7 +256,7 @@ fn find_validators_for_field(field: &syn::Field, field_types: &HashMap<String, S
for meta_item in meta_items {
match *meta_item {
syn::NestedMetaItem::MetaItem(ref item) => match *item {
- // email, url
+ // email, url, phone
syn::MetaItem::Word(ref name) => match name.to_string().as_ref() {
"email" => {
assert_string_type("email", field_type);
@@ -266,6 +266,10 @@ fn find_validators_for_field(field: &syn::Field, field_types: &HashMap<String, S
assert_string_type("url", field_type);
validators.push(FieldValidation::new(Validator::Url));
},
+ "phone" => {
+ assert_string_type("phone", field_type);
+ validators.push(FieldValidation::new(Validator::Phone));
+ },
_ => panic!("Unexpected validator: {}", name)
},
// custom, contains, must_match, regex
@@ -311,7 +315,7 @@ fn find_validators_for_field(field: &syn::Field, field_types: &HashMap<String, S
assert_has_range(rust_ident.clone(), field_type);
validators.push(extract_range_validation(rust_ident.clone(), meta_items));
},
- "email" | "url" => {
+ "email" | "url" | "phone" => {
validators.push(extract_argless_validation(name.to_string(), rust_ident.clone(), meta_items));
},
"custom" => {