/** * Implements corresponding isValidXX logic. * * @param string $context Please see corresponding isValidXX description. * @param string $input Please see corresponding isValidXX description. * @param bool $allowNull Please see corresponding isValidXX description. * * @return does not return a value. * @throws ValidationException thrown if input is invalid. * @throws IntrusionException thrown if intrusion is detected. */ private function _assertValidCreditCard($context, $input, $allowNull) { $ccvr = new CreditCardValidationRule('CreditCard', $this->_encoder); $ccvr->setAllowNull($allowNull); $ccvr->assertValid($context, $input); return null; }
/** * getValid does not treat '0' as empty. disallows empty values when * allowNull is false. */ function testCCVR_getValid_Empty() { $ccr = new StringValidationRule('CreditCardValidator', null, '^[0-9]*$'); $ccr->setMaximumLength(1); $ccvr = new CreditCardValidationRule('CreditCardValidatorLuhn', null, $ccr); $this->assertTrue($ccvr->isValid('testCCVR_getValid_Empty', '0')); $this->assertFalse($ccvr->isValid('testCCVR_getValid_Empty', '')); $this->assertFalse($ccvr->isValid('testCCVR_getValid_Empty', null)); $ccvr->setAllowNull(true); $this->assertTrue($ccvr->isValid('testCCVR_getValid_Empty', '')); $this->assertTrue($ccvr->isValid('testCCVR_getValid_Empty', null)); }