0

我试图验证 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');
    }

有谁知道发生了什么事?

4

1 回答 1

0

这似乎是条码验证器校验和逻辑中的一个错误。验证器尝试通过几个步骤将 null(默认)转换为布尔值。(我不知道为什么)

false您现在可以通过为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 问题链接

于 2014-10-30T16:39:52.347 回答