示例#1
0
文件: Uuid.php 项目: rukzuk/rukzuk
 /**
  * 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
 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;
 }
示例#3
0
 /**
  * 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));
         }
     }
 }
示例#4
0
 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;
 }
示例#7
0
 /**
  * Ensures that getMax() returns expected value
  *
  * @return void
  */
 public function testGetMax()
 {
     $validator = new Zend_Validate_LessThan(10);
     $this->assertEquals(10, $validator->getMax());
 }
示例#8
0
 /**
  * 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);
 }
示例#11
0
 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);
 }
示例#13
0
 /**
  * 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);
 }
示例#14
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;
 }