diff options
Diffstat (limited to 'validator_derive/src/lib.rs')
| -rw-r--r-- | validator_derive/src/lib.rs | 8 | 
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" => { | 
