aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src/lib.rs
diff options
context:
space:
mode:
authorAndras Mocsary2019-09-06 16:30:54 +0200
committerAndras Mocsary2019-10-14 15:40:21 +0200
commitac3810f68d2dd86c17a57593959506bd1b99cab5 (patch)
tree95c93dc52f8741212f073396304e6341ad2cd743 /validator_derive/src/lib.rs
parent87cf7cdac24dd0d4ea83a8a88640da95ae7ac93a (diff)
downloadvalidator-ac3810f68d2dd86c17a57593959506bd1b99cab5.tar.bz2
Add utf-8 non-control chars validator
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(),