25 #require_once 'Zend/Validate/Abstract.php'; 58 self::LENGTH =>
"'%value%' must contain between 13 and 19 digits",
59 self::CHECKSUM =>
"Luhn algorithm (mod-10 checksum) failed on '%value%'" 64 trigger_error(
'Using the Ccnum validator is deprecated in favor of the CreditCard validator');
79 if (
null === self::$_filter) {
83 #require_once 'Zend/Filter/Digits.php'; 87 $valueFiltered = self::$_filter->filter(
$value);
89 $length = strlen($valueFiltered);
91 if ($length < 13 || $length > 19) {
92 $this->
_error(self::LENGTH);
99 for (
$i = $length - 2;
$i >= 0;
$i--) {
100 $digit = $weight * $valueFiltered[
$i];
101 $sum += floor($digit / 10) + $digit % 10;
102 $weight = $weight % 2 + 1;
105 if ((10 - $sum % 10) % 10 != $valueFiltered[$length - 1]) {
106 $this->
_error(self::CHECKSUM, $valueFiltered);
_error($messageKey, $value=null)