Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  *
  * @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;
 }
Пример #3
0
 /**
  * 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);
 }
Пример #4
0
 /**
  * @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;
 }