示例#1
0
 /**
  * Validates the parameters value and returns the result.
  * @see ParamDefinition::validateValue
  *
  * @since 0.5
  *
  * @param $value mixed
  * @param $param IParam
  * @param $definitions array of IParamDefinition
  * @param $params array of IParam
  * @param ValidatorOptions $options
  *
  * @return boolean
  */
 protected function validateValue($value, IParam $param, array $definitions, array $params, ValidatorOptions $options)
 {
     if (!parent::validateValue($value, $param, $definitions, $params, $options)) {
         return false;
     }
     return !$options->isStringlyTyped() && is_bool($value) || $options->isStringlyTyped() && (in_array($value, $this->true) || in_array($value, $this->false));
 }
示例#2
0
 /**
  * Validates the parameters value and returns the result.
  * @see ParamDefinition::validateValue
  *
  * @since 0.5
  *
  * @param $value mixed
  * @param $param IParam
  * @param $definitions array of IParamDefinition
  * @param $params array of IParam
  * @param ValidatorOptions $options
  *
  * @return boolean
  */
 protected function validateValue($value, IParam $param, array $definitions, array $params, ValidatorOptions $options)
 {
     if (!parent::validateValue($value, $param, $definitions, $params, $options)) {
         return false;
     }
     return $this->validateBounds($value);
 }
示例#3
0
 /**
  * Validates the parameters value and returns the result.
  * @see ParamDefinition::validateValue
  *
  * @since 0.5
  *
  * @param $value mixed
  * @param $param IParam
  * @param $definitions array of IParamDefinition
  * @param $params array of IParam
  * @param ValidatorOptions $options
  *
  * @return boolean
  */
 protected function validateValue($value, IParam $param, array $definitions, array $params, ValidatorOptions $options)
 {
     $plainValue = $value instanceof Title ? $value->getFullText() : $value;
     if (!parent::validateValue($plainValue, $param, $definitions, $params, $options)) {
         return false;
     }
     if ($options->isStringlyTyped()) {
         $value = Title::newFromText($value);
         if (is_null($value)) {
             return false;
         }
         $this->titles[$value->getFullText()] = $value;
     } elseif (!$value instanceof Title) {
         return false;
     }
     return $this->hasToExist ? $value->isKnown() : true;
 }
示例#4
0
 /**
  * Validates the parameters value and returns the result.
  * @see ParamDefinition::validateValue
  *
  * @since 0.5
  *
  * @param $value mixed
  * @param $param IParam
  * @param $definitions array of IParamDefinition
  * @param $params array of IParam
  * @param ValidatorOptions $options
  *
  * @return boolean
  */
 protected function validateValue($value, IParam $param, array $definitions, array $params, ValidatorOptions $options)
 {
     if (!is_string($value)) {
         return false;
     }
     if (!parent::validateValue($value, $param, $definitions, $params, $options)) {
         return false;
     }
     if (!$this->canBeEmpty && $value === '') {
         return false;
     }
     if ($this->length !== false) {
         $length = strlen($value);
         if (is_array($this->length)) {
             return ($this->length[1] === false || $value <= $this->length[1]) && ($this->length[0] === false || $value >= $this->length[0]);
         } else {
             return $length == $this->length;
         }
     }
     return true;
 }