bleargh45 / Data-FormValidator-Constraints-CreditCard

Data constraints, using Business::CreditCard

Home Page:http://metacpan.org/release/Data-FormValidator-Constraints-CreditCard/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NAME

Data::FormValidator::Constraints::CreditCard - Data constraints, using Business::CreditCard

SYNOPSIS

use Data::FormValidator::Constraints::CreditCard qw(:all);

constraint_methods => {
    cc_number     => [
      # number is syntactically valid
      FV_cc_number(),

      # verify type, by value
      FV_cc_type(qw(Visa MasterCard)),

      # verify type, by regex
      FV_cc_type(qr/visa|mastercard/i),
      ],

    # expiry month is within valid range
    cc_exp_mon    => FV_cc_expiry_month(),

    # expiry year is not in the past
    cc_exp_year   => FV_cc_expiry_year(),

    # full expiry date is not in the past
    cc_expiry     => FV_cc_expiry(),
},

DESCRIPTION

Data::FormValidator::Constraints::CreditCard provides several methods that can be used to generate constraint closures for use with Data::FormValidator for the purpose of validating credit card numbers and expiry dates, using Business::CreditCard.

METHODS

  • FV_cc_number()

    Creates a constraint closure that returns true if the constrained value appears to be a valid credit card number.

    NOTE: "appears to be a valid credit card number" ONLY means that the number appears to be valid and has passed the checksum test; -NO- tests have been performed to verify that this is actually a real/valid credit card number.

  • FV_cc_type(@set)

    Creates a constraint closure that returns true if the constrained value appears to be a credit card of one of the types listed in the given @set. The @set can be provided as either a list of scalars (which are compared using the eq operator), or as a list of regular expressions.

    For more information on the actual card types that can be checked for, please refer to the information for the cardtype() method in Business::CreditCard.

  • FV_cc_expiry()

    Creates a constraint closure that returns true if the constrained value appears to be a valid credit card expiry date; correct integer values for year/month, with the date not being in the past.

    Accepted formats include "MM/YY" and "MM/YYYY".

    NOTE: use of this method requires that the full credit card expiry date be present in a single field; no facilities are provided for gathering the month/year data from two separate fields.

  • FV_cc_expiry_month()

    Creates a constraint closure that returns true if the constrained value appears to be a valid credit card expiry month; an integer in the range of "1-12".

  • FV_cc_expiry_year()

    Creates a constraint closure that returns true if the constrained value appears to be a valid credit card expiry year; an integer value for a year, not in the past.

    Expiry years can be provided as either "YY" or "YYYY". When using the two-digit "YY" format, the year is considered to be part of the sliding window 1970-2069.

AUTHOR

Graham TerMarsch (cpan@howlingfrog.com)

COPYRIGHT

Copyright (C) 2008, Graham TerMarsch. All Rights Reserved.

This is free software; you can redistribute it and/or modify it under the same license as Perl itself.

SEE ALSO

Data::FormValidator, Business::CreditCard.