public function isValid($value) { if (!parent::isValid($value)) { return false; } if (!is_null($this->_min) || !is_null($this->_max)) { $validators = array(); if (!is_null($this->_min)) { $validator = new Zend_Validate_GreaterThan($this->_min); $validator->setMin($this->_min); $validators[] = $validator; } if (!is_null($this->_max)) { $validator = new Zend_Validate_LessThan($this->_max); $validator->setMax($this->_max); $validators[] = $validator; } foreach ($validators as $val) { if (!$val->isValid($value)) { $messages = $val->getMessages(); if (!is_array($this->_messages)) { $this->_messages = array(); } $this->_messageVariables = array('max' => '_max', 'min' => '_min'); foreach ($messages as $key => $message) { $this->_error($key, $value); } return false; } } } return true; }