diff options
Diffstat (limited to 'validator_derive')
| -rw-r--r-- | validator_derive/Cargo.toml | 1 | ||||
| -rw-r--r-- | validator_derive/src/lib.rs | 1 | ||||
| -rw-r--r-- | validator_derive/src/quoting.rs | 1 | ||||
| -rw-r--r-- | validator_derive/src/validation.rs | 1 |
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, |
