im试图验证zend框架2条形码,但没有成功
验证总是返回错误的
$bc128 = new Code128();
$bc128->setText('TEST');
$valid = new ZendValidatorBarcode('code128');
if ($valid->isValid($bc128->getTextToDisplay())) {
exit('valid');
} else {
exit('invalid');
}
有人知道发生了什么事吗?
这似乎是条形码验证器校验和逻辑中的一个错误。Validator尝试通过几个步骤将null(默认值)强制转换为布尔值。(我不知道为什么)
您现在可以通过为useChecksum
传递一个布尔false
选项来解决问题,如下所示:
$bc128 = new ZendBarcodeObjectCode128();
$bc128->setText('TEST');
$options = array(
'adapter' => 'code128',
'useChecksum' => false
);
$valid = new ZendValidatorBarcode($options);
if ($valid->isValid($bc128->getTextToDisplay())) {
exit('valid');
} else {
exit('invalid');
}
相关github问题链接。