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.