/** * 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; }
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; }
/** * 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)); } } }
public function init() { parent::init(); $this->setLabel($this->getName()); // TODO use prefix for translation $validators = array(); $validator = new Zend_Validate_Int(); $validator->setMessage('validation_error_year_invalid_format'); $validators[] = $validator; $validator = new Zend_Validate_GreaterThan(-1); $validator->setMessages(array(Zend_Validate_GreaterThan::NOT_GREATER => 'validation_error_year_invalid_negative')); $validators[] = $validator; $validator = new Zend_Validate_LessThan(10000); $validator->setMessages(array(Zend_Validate_LessThan::NOT_LESS => 'validation_error_year_too_large')); $validators[] = $validator; $this->setAttrib('placeholder', $this->getTranslator()->translate('year_format')); $this->setAttrib('size', 6); $this->setAttrib('maxlength', 4); $this->setValidators($validators, 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; }
/** * Ensures that getMax() returns expected value * * @return void */ public function testGetMax() { $validator = new Zend_Validate_LessThan(10); $this->assertEquals(10, $validator->getMax()); }
/** * 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; }
/** * * @param type $max * @param type $messages_prefixed * @return \Zend_Validate_LessThan */ protected function _getValidatorLessThan($max = 100, $messages_prefixed = "") { $messages_prefixed = strtoupper($messages_prefixed); $lessThan = new Zend_Validate_LessThan($max); $lessThan->setMessage(sprintf($this->_translate('ERROR_LESS_THAN'), $this->_translate($messages_prefixed), $max), Zend_Validate_LessThan::NOT_LESS); return $lessThan; }
/** * Overridden isValid() method for pre-validation code * * @param array $formData data typically from a POST or GET request * * @return bool */ public function isValid($formData = array()) { $coverCount = 0; if (isset($formData['buildings_accidental_damage']) && $formData['buildings_accidental_damage'] == 1) { $coverCount++; $this->getElement('buildings_cover')->setRequired(true); } if (isset($formData['buildings_nil_excess']) && $formData['buildings_nil_excess'] == 1) { $coverCount++; $this->getElement('buildings_cover')->setRequired(true); } if (isset($formData['contents_accidental_damage']) && $formData['contents_accidental_damage'] == 1) { $coverCount++; $this->getElement('contents_cover')->setRequired(true); } if (isset($formData['contents_nil_excess']) && $formData['contents_nil_excess'] == 1) { $coverCount++; $this->getElement('contents_cover')->setRequired(true); } if (isset($formData['limited_contents']) && $formData['contents_cover'] > 0) { $coverCount++; $limitedContents = $this->getElement('limited_contents'); $limitedContentsValidator = new Zend_Validate_LessThan(array('max' => 1)); $limitedContentsValidator->setMessage(' Limited Contents cannot be selected with Full Contents', Zend_Validate_LessThan::NOT_LESS); $limitedContents->addValidator($limitedContentsValidator, true); } if (isset($formData['limited_contents']) && $formData['limited_contents'] == 1 || (isset($formData['contents_cover']) && $formData['contents_cover'] > 0 || isset($formData['buildings_cover']) && $formData['buildings_cover'] > 0)) { $coverCount++; } // Set up validation for Building cover maximun // value can be empty OR Greater Than 50k and refer after 1000k $buildingsCover = $this->getElement('buildings_cover'); $buildingsValidator = new Zend_Validate_GreaterThan(array('min' => 49999)); $buildingsValidator->setMessage('Buildings cover must be over £50000', Zend_Validate_GreaterThan::NOT_GREATER); $buildingsCover->addValidator($buildingsValidator, true); // Set up validation for contents cover maximun // value can be empty OR Greater Than 10k and refer after 60k $contentsCover = $this->getElement('contents_cover'); $contentsValidator = new Zend_Validate_GreaterThan(array('min' => 9999)); $contentsValidator->setMessage('Contents cover must be over £10000', Zend_Validate_GreaterThan::NOT_GREATER); $contentsCover->addValidator($contentsValidator, true); $formData['covercount'] = $coverCount; $covers = $this->getElement('covercount'); $optionsValidator = new Zend_Validate_GreaterThan(array('min' => 0)); $optionsValidator->setMessage("You have not selected a cover", Zend_Validate_GreaterThan::NOT_GREATER); $covers->addValidator($optionsValidator, true); // If a postcode is or was present, look it up and populate the allowed values of the associated dropdown if (isset($formData['ins_postcode']) && trim($formData['ins_postcode']) != '') { $postcode = trim($formData['ins_postcode']); $postcodeLookup = new Manager_Core_Postcode(); $addresses = $postcodeLookup->getPropertiesByPostcode(preg_replace('/[^\\w\\ ]/', '', $postcode)); $addressList = array('' => '--- please select ---'); foreach ($addresses as $address) { $addressList[$address['id']] = $address['singleLineWithoutPostcode']; } $ins_address = $this->getElement('ins_address'); $ins_address->setMultiOptions($addressList); $validator = new Zend_Validate_InArray(array('haystack' => array_keys($addressList))); $validator->setMessages(array(Zend_Validate_InArray::NOT_IN_ARRAY => 'Insured address does not match with postcode')); $ins_address->addValidator($validator, true); } if (isset($formData['ins_address_postcode']) && $formData['ins_address_postcode'] != '') { $this->getElement('ins_postcode')->setRequired(false); $this->getElement('ins_address')->setRequired(false); } // Call original isValid() return parent::isValid($formData); }
public function __construct($max) { $this->_messageTemplates[self::NOT_LESS] = trlKwfStatic("'%value%' must be less or equal than '%max%'"); parent::__construct($max); }
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; }