aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src
diff options
context:
space:
mode:
authorVincent Prouillet2017-11-08 17:47:59 +0100
committerVincent Prouillet2017-11-08 17:47:59 +0100
commitdcc3b0a42f74bedc6cf57feea0f441e7166aa027 (patch)
treea62db24bd3d35349870810a2d7974ce15add8e92 /validator_derive/src
parent14a5b7a695de67f4bc2e38d5eeae2eea11fed743 (diff)
downloadvalidator-dcc3b0a42f74bedc6cf57feea0f441e7166aa027.tar.bz2
Feature gate phone feature in validator_derive as well
Diffstat (limited to 'validator_derive/src')
-rw-r--r--validator_derive/src/lib.rs1
-rw-r--r--validator_derive/src/quoting.rs2
-rw-r--r--validator_derive/src/validation.rs2
3 files changed, 5 insertions, 0 deletions
diff --git a/validator_derive/src/lib.rs b/validator_derive/src/lib.rs
index adb5515..1678883 100644
--- a/validator_derive/src/lib.rs
+++ b/validator_derive/src/lib.rs
@@ -266,6 +266,7 @@ 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));
},
+ #[cfg(feature = "phone")]
"phone" => {
assert_string_type("phone", field_type);
validators.push(FieldValidation::new(Validator::Phone));
diff --git a/validator_derive/src/quoting.rs b/validator_derive/src/quoting.rs
index 7e2fe48..f7968e2 100644
--- a/validator_derive/src/quoting.rs
+++ b/validator_derive/src/quoting.rs
@@ -174,6 +174,7 @@ pub fn quote_credit_card_validation(field_quoter: &FieldQuoter, validation: &Fie
field_quoter.wrap_if_option(quoted)
}
+#[cfg(feature = "phone")]
pub fn quote_phone_validation(field_quoter: &FieldQuoter, validation: &FieldValidation) -> quote::Tokens {
let field_name = &field_quoter.name;
let validator_param = field_quoter.quote_validator_param();
@@ -326,6 +327,7 @@ pub fn quote_field_validation(field_quoter: &FieldQuoter, validation: &FieldVali
Validator::Contains(_) => quote_contains_validation(&field_quoter, validation),
Validator::Regex(_) => quote_regex_validation(&field_quoter, validation),
Validator::CreditCard => quote_credit_card_validation(&field_quoter, validation),
+ #[cfg(feature = "phone")]
Validator::Phone => quote_phone_validation(&field_quoter, validation),
}
}
diff --git a/validator_derive/src/validation.rs b/validator_derive/src/validation.rs
index 259db70..7598d79 100644
--- a/validator_derive/src/validation.rs
+++ b/validator_derive/src/validation.rs
@@ -215,6 +215,8 @@ pub fn extract_argless_validation(validator_name: String, field: String, meta_it
let validator = match validator_name.as_ref() {
"email" => Validator::Email,
+ "credit_card" => Validator::CreditCard,
+ #[cfg(feature = "phone")]
"phone" => Validator::Phone,
_ => Validator::Url
};