setType($barcodeType); } /** * Sets a new barcode validator * * @param string $barcodeType - Barcode validator to use * @return void * @throws Zend_Validate_Exception */ public function setType($barcodeType) { switch (strtolower($barcodeType)) { case 'upc': case 'upc-a': $className = 'UpcA'; break; case 'ean13': case 'ean-13': $className = 'Ean13'; break; default: require_once 'Zend/Validate/Exception.php'; throw new Zend_Validate_Exception("Barcode type '$barcodeType' is not supported'"); break; } require_once 'Zend/Validate/Barcode/' . $className . '.php'; $class = 'Zend_Validate_Barcode_' . $className; $this->_barcodeValidator = new $class; } /** * Defined by Zend_Validate_Interface * * Returns true if and only if $value contains a valid barcode * * @param string $value * @return boolean */ public function isValid($value) { return call_user_func(array($this->_barcodeValidator, 'isValid'), $value); } }