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.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/validator_derive/src/lib.rs b/validator_derive/src/lib.rs
index f3796b4..d8bbb3e 100644
--- a/validator_derive/src/lib.rs
+++ b/validator_derive/src/lib.rs
@@ -266,7 +266,7 @@ fn find_validators_for_field(
for meta_item in meta_items {
match *meta_item {
syn::NestedMeta::Meta(ref item) => match *item {
- // email, url, phone
+ // email, url, phone, credit_card, non_control_character
syn::Meta::Word(ref name) => match name.to_string().as_ref() {
"email" => {
assert_string_type("email", field_type);
@@ -286,6 +286,11 @@ fn find_validators_for_field(
assert_string_type("credit_card", field_type);
validators.push(FieldValidation::new(Validator::CreditCard));
}
+ #[cfg(feature = "unic")]
+ "non_control_character" => {
+ assert_string_type("non_control_character", field_type);
+ validators.push(FieldValidation::new(Validator::NonControlCharacter));
+ }
_ => panic!("Unexpected validator: {}", name),
},
// custom, contains, must_match, regex
@@ -341,7 +346,7 @@ fn find_validators_for_field(
&meta_items,
));
}
- "email" | "url" | "phone" | "credit_card" => {
+ "email" | "url" | "phone" | "credit_card" | "non_control_character" => {
validators.push(extract_argless_validation(
ident.to_string(),
rust_ident.clone(),