2014-10-30 51 views
0

我嘗試驗證的Zend Framework 2條碼但沒有成功Zend框架2條形碼CODE128錯誤的驗證

驗證怎麼回事總是返回false

$bc128 = new Code128(); 
    $bc128->setText('TEST'); 
    $valid = new \Zend\Validator\Barcode('code128'); 
    if ($valid->isValid($bc128->getTextToDisplay())) { 
     exit('valid'); 
    } else { 
     exit('invalid'); 
    } 

有誰知道?

回答

0

它看起來像條碼驗證器的校驗和邏輯中的一個錯誤。 Validator嘗試在幾個步驟中將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上發出link