aboutsummaryrefslogtreecommitdiffstats
path: root/validator_derive
diff options
context:
space:
mode:
Diffstat (limited to 'validator_derive')
-rw-r--r--validator_derive/Cargo.toml1
-rw-r--r--validator_derive/src/lib.rs1
-rw-r--r--validator_derive/src/quoting.rs1
-rw-r--r--validator_derive/src/validation.rs1
4 files changed, 4 insertions, 0 deletions
diff --git a/validator_derive/Cargo.toml b/validator_derive/Cargo.toml
index b52c8b5..ee0d468 100644
--- a/validator_derive/Cargo.toml
+++ b/validator_derive/Cargo.toml
@@ -13,6 +13,7 @@ proc-macro = true
[features]
phone = ["validator/phone"]
+card = ["validator/card"]
[dependencies]
syn = { version = "0.13", features = ["extra-traits"] }
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,