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; }
/** * Validate element value * * @param array $data * @param mixed $context * @return boolean */ public function isValid($value, $context = array()) { foreach ($this->_fieldValues as $fieldValue => $max) { if ($fieldValue == App_Util_Array::getItem($context, $this->getField())) { $this->_currentFieldValue = $fieldValue; parent::setMax($max); if (!parent::isValid($value)) { return false; } } } return true; }
/** * Validate element value * * @param array $data * @param mixed $context * @return boolean */ public function isValid($value, $context = array()) { foreach ($this->_fields as $field => $fieldName) { if (is_numeric($field)) { $field = $fieldName; } if ($max = App_Util_Array::getItem($context, $field)) { $this->_currentField = $fieldName; parent::setMax($max); if (!parent::isValid($value)) { return false; } } } return true; }