Exemple #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;
 }
Exemple #2
0
 /**
  * @param  string $value
  * @return boolean
  */
 public function isValid($value)
 {
     $this->_setValue($value);
     if (empty($value)) {
         $this->_error(self::IS_EMPTY);
         return false;
     }
     if (!is_string($value)) {
         $this->_error(self::NOT_A_STRING);
         return false;
     }
     $parts = explode('.', $value);
     if (count($parts) != 3) {
         $this->_error(self::INVALID);
         return false;
     }
     $buildIdValidator = new BuildIdValidator();
     if (!$buildIdValidator->isValid($parts[0])) {
         $this->_error(self::INVALID);
         return false;
     }
     $integerValidator = new IntegerValidator();
     if (!$integerValidator->isValid($parts[1])) {
         $this->_error(self::INVALID);
         return false;
     }
     $uniqueIdValidator = new UniqueIdValidator('', '');
     if (!$uniqueIdValidator->isValid($parts[2])) {
         $this->_error(self::INVALID);
         return false;
     }
     return true;
 }
Exemple #3
0
 /**
  * @param  string  $limit
  * @return boolean
  */
 private function validateLimit($limit)
 {
     $integerValidator = new IntegerValidator();
     $integerValidator->setMessage("Limit '%value%' ist keine Zahl", IntegerValidator::INVALID);
     if (!$integerValidator->isValid($limit)) {
         $messages = array_values($integerValidator->getMessages());
         $this->addError(new Error('limit', $limit, $messages));
         return false;
     }
     $greaterThanValidator = new GreaterThanValidator(array('min' => 0));
     $greaterThanValidator->setMessage("Limit '%value%' ist nicht groesser als '%min%'", GreaterThanValidator::NOT_GREATER);
     if (!$greaterThanValidator->isValid($limit)) {
         $messages = array_values($greaterThanValidator->getMessages());
         $this->addError(new Error('limit', $limit, $messages));
         return false;
     }
     return true;
 }
Exemple #4
0
 /**
  * @test
  * @group small
  * @group dev
  * @group library
  * @dataProvider integerValuesProvider
  */
 public function isValidShouldReturnTrueForIntegerValues($value)
 {
     $integerValidator = new IntegerValidator();
     $this->assertTrue($integerValidator->isValid($value));
 }
Exemple #5
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;
 }
Exemple #6
0
 /**
  * @param array $filterKeyValue
  * @return boolean
  */
 private function validateNumericFilterValue($filterKeyValue)
 {
     $filterKeys = array_keys($filterKeyValue);
     $filterKey = $filterKeys[0];
     $filterValues = array_values($filterKeyValue);
     $filterValue = $filterValues[0];
     $integerValidator = new IntegerValidator();
     $integerValidator->setMessage("{$filterKey} '%value%' ist keine Zahl", IntegerValidator::INVALID);
     if (!$integerValidator->isValid($filterValue)) {
         $messages = array_values($integerValidator->getMessages());
         $this->addError(new Error($filterKey, $filterValue, $messages));
         return false;
     }
     return true;
 }