/** * Validate the count value * * @param mixed $count * @return boolean */ private function validateCount($count) { $integerValidator = new IntegerValidator(); $integerValidator->setMessage("Count '%value%' ist keine Zahl", IntegerValidator::INVALID); if (!$integerValidator->isValid($count)) { $messages = array_values($integerValidator->getMessages()); $this->addError(new Error('count', $count, $messages)); return false; } // !! Achtung: Fehler im Zend Framework Version 1.11.0 !! // Der zu pruefende Wert muss groesser als der Parameter 'min' sein. // D.h. da der count Parameter mindestens den Wert 1 haben muss, // wird als 'min' 0 uebergeben $greaterThanValidator = new GreaterThanValidator(array('min' => 0)); $greaterThanValidator->setMessage("Count '%value%' ist nicht groesser als '%min%'", GreaterThanValidator::NOT_GREATER); if (!$greaterThanValidator->isValid($count)) { $messages = array_values($greaterThanValidator->getMessages()); $this->addError(new Error('count', $count, $messages)); return false; } $config = Registry::getConfig(); $configuredUuidLimit = intval($config->uuid->limit); $lessThanValidator = new LessThanValidator(array('max' => $configuredUuidLimit)); $lessThanValidator->setMessage("Count '%value%' ist groesser als das konfigurierte uuid limit '%max%'", LessThanValidator::NOT_LESS); if (!$lessThanValidator->isValid($count)) { $messages = array_values($lessThanValidator->getMessages()); $this->addError(new Error('count', $count, $messages)); 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; }
/** * Ensures that the validator follows expected behavior * * @return void */ public function testBasic() { /** * The elements of each array are, in order: * - maximum * - expected validation result * - array of test input values */ $valuesExpected = array(array(100, true, array(-1, 0, 0.01, 1, 99.999)), array(100, false, array(100, 100.0, 100.01)), array('a', false, array('a', 'b', 'c', 'd')), array('z', true, array('x', 'y'))); foreach ($valuesExpected as $element) { $validator = new Zend_Validate_LessThan($element[0]); foreach ($element[2] as $input) { $this->assertEquals($element[1], $validator->isValid($input)); } } }
/** * 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; }
/** * Built-in Zend less than check. Returns true if and only if $value is less than the minimum boundary. * * @param integer $value * @param integer $max * @return boolean Valid? */ public function lessThan($value, $max) { $this->m_ErrorMessage = null; require_once 'Zend/Validate/LessThan.php'; $validator = new Zend_Validate_LessThan($max); $result = $validator->isValid($value); if (!$result) { $this->m_ErrorMessage = BizSystem::getMessage("VALIDATESVC_LESS_THAN", array($this->m_FieldNameMask, $max)); } return $result; }
public function lessThan($max, $value) { $validator = new Zend_Validate_LessThan(array('max' => $max)); return $validator->isValid($value); }
/** * Returns TRUE if value is less than $max, FALSE otherwise. * * @deprecated since 0.8.0 * @param mixed $value * @param mixed $max * @return boolean */ public static function isLessThan($value, $max) { require_once 'Zend/Validate/LessThan.php'; $validator = new Zend_Validate_LessThan($max); return $validator->isValid($value); }
/** * @param string $value * @param string $field * @param array $limit * @return boolean */ private function validateInteger($value, $field, $limit = array()) { $integerValidator = new IntegerValidator(); $integerValidator->setMessage("'%value%' ist keine Zahl", IntegerValidator::INVALID); if (!$integerValidator->isValid($value)) { $messages = array_values($integerValidator->getMessages()); $this->addError(new Error($field, $value, $messages)); return false; } if (isset($limit['min'])) { $greaterThanValidator = new GreaterThanValidator($limit); $greaterThanValidator->setMessage("'%value%' ist nicht größer oder gleich '%min%'", GreaterThanValidator::NOT_GREATER); if (!$greaterThanValidator->isValid($value)) { $messages = array_values($greaterThanValidator->getMessages()); $this->addError(new Error($field, $value, $messages)); return false; } } if (isset($limit['max'])) { $lessThanValidator = new LessThanValidator($limit); $lessThanValidator->setMessage("'%value%' ist nicht kleiner oder gleich '%max%'", LessThanValidator::NOT_LESS); if (!$lessThanValidator->isValid($value)) { $messages = array_values($lessThanValidator->getMessages()); $this->addError(new Error($field, $value, $messages)); return false; } } return true; }