'Tokens do not match', self::MISSING_TOKEN => 'No token was provided to match against', ); /** * Original token against which to validate * @var string */ protected $_token; /** * Sets validator options * * @param string $token * @return void */ public function __construct($token = null) { if (null !== $token) { $this->setToken($token); } } /** * Set token against which to compare * * @param string $token * @return Zend_Validate_Identical */ public function setToken($token) { $this->_token = (string) $token; return $this; } /** * Retrieve token * * @return string */ public function getToken() { return $this->_token; } /** * Defined by Zend_Validate_Interface * * Returns true if and only if a token has been set and the provided value * matches that token. * * @param string $value * @return boolean */ public function isValid($value) { $this->_setValue($value); $token = $this->getToken(); if (empty($token)) { $this->_error(self::MISSING_TOKEN); return false; } if ($value !== $token) { $this->_error(self::NOT_SAME); return false; } return true; } }