aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive/src
diff options
context:
space:
mode:
authorErin2018-05-15 20:50:18 -0500
committerErin2018-05-15 20:50:18 -0500
commit91592718aa3d6ae102ae31ee08bd3ae7bd57adec (patch)
tree224f28e955f1ece791742d5b3858a54ef9a03a11 /validator_derive/src
parent4658e5303d3dc5aa3579119b0d0724cab3e98308 (diff)
downloadvalidator-91592718aa3d6ae102ae31ee08bd3ae7bd57adec.tar.bz2
feature gate card validator
Diffstat (limited to 'validator_derive/src')
-rw-r--r--validator_derive/src/lib.rs1
-rw-r--r--validator_derive/src/quoting.rs1
-rw-r--r--validator_derive/src/validation.rs1
3 files changed, 3 insertions, 0 deletions
diff --git a/validator_derive/src/lib.rs b/validator_derive/src/lib.rs
index 4aa37d0..ed7669f 100644
--- a/validator_derive/src/lib.rs
+++ b/validator_derive/src/lib.rs
@@ -272,6 +272,7 @@ fn find_validators_for_field(field: &syn::Field, field_types: &HashMap<String, S
assert_string_type("phone", field_type);
validators.push(FieldValidation::new(Validator::Phone));
},
+ #[cfg(feature = "card")]
"credit_card" => {
assert_string_type("credit_card", field_type);
validators.push(FieldValidation::new(Validator::CreditCard));
diff --git a/validator_derive/src/quoting.rs b/validator_derive/src/quoting.rs
index a3e25cb..6e010d7 100644
--- a/validator_derive/src/quoting.rs
+++ b/validator_derive/src/quoting.rs
@@ -165,6 +165,7 @@ pub fn quote_range_validation(field_quoter: &FieldQuoter, validation: &FieldVali
unreachable!()
}
+#[cfg(feature = "card")]
pub fn quote_credit_card_validation(field_quoter: &FieldQuoter, validation: &FieldValidation) -> quote::Tokens {
let field_name = &field_quoter.name;
let validator_param = field_quoter.quote_validator_param();
diff --git a/validator_derive/src/validation.rs b/validator_derive/src/validation.rs
index b5c7b78..bd59428 100644
--- a/validator_derive/src/validation.rs
+++ b/validator_derive/src/validation.rs
@@ -173,6 +173,7 @@ pub fn extract_argless_validation(validator_name: String, field: String, meta_it
let validator = match validator_name.as_ref() {
"email" => Validator::Email,
+ #[cfg(feature = "card")]
"credit_card" => Validator::CreditCard,
#[cfg(feature = "phone")]
"phone" => Validator::Phone,