我试图验证zend框架2条形码,但没有成功
验证总是返回false。
$bc128 = new Code128();
$bc128->setText('TEST');
$valid = new \Zend\Validator\Barcode('code128');
if ($valid->isValid($bc128->getTextToDisplay())) {
exit('valid');
} else {
exit('invalid');
}有人知道怎么回事吗?
发布于 2014-10-30 16:39:52
这似乎是条形码验证器校验和逻辑中的一个错误。验证器试图在几个步骤中将空(默认)转换为布尔值。(我不知道为什么)
现在可以通过传递布尔false for useChecksum选项来解决这一问题,如下所示:
$bc128 = new \Zend\Barcode\Object\Code128();
$bc128->setText('TEST');
$options = array(
'adapter' => 'code128',
'useChecksum' => false
);
$valid = new \Zend\Validator\Barcode($options);
if ($valid->isValid($bc128->getTextToDisplay())) {
exit('valid');
} else {
exit('invalid');
}相关github发布链接。
https://stackoverflow.com/questions/26653963
复制相似问题