예제 #1
0
 /**
  * @inheritdoc
  */
 public function validate(ValidationItem $validationItem)
 {
     $value = $validationItem->getValue();
     $length = strlen($value);
     if ($this->minLength > 0 && $length < $this->minLength) {
         $message = new Validation\Message('String too short (less than %_min-length_% character)', ['min-length' => $this->minLength, 'string-length' => $length], self::TOO_SHORT);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     } elseif ($this->maxLength > 0 && $length > $this->maxLength) {
         $message = new Validation\Message('String too long (more than %_max-length_% character)', ['max-length' => $this->maxLength, 'string-length' => $length], self::TOO_LONG);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     }
 }
예제 #2
0
파일: Csrf.php 프로젝트: gsouf/uform
 /**
  * @inheritdoc
  */
 public function validate(ValidationItem $validationItem)
 {
     if (!$this->csrfInterface->tokenIsValid($validationItem->getValue())) {
         $message = new Message('Csrf token is not valid', [], self::NOT_VALID);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     }
 }
예제 #3
0
파일: File.php 프로젝트: gsouf/uform
 public function checkValidity(ValidationItem $validationItem)
 {
     $value = $validationItem->getValue();
     if (!$value instanceof FileUpload && $value !== null) {
         $message = new Message('The data sent is not a valid file', [], self::NOT_VALID_NOT_A_FILE);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     }
 }
예제 #4
0
파일: SameAs.php 프로젝트: gsouf/uform
 /**
  * @inheritdoc
  */
 public function validate(ValidationItem $validationItem)
 {
     $value1 = $validationItem->getValue();
     $value2 = $validationItem->findValue($this->sameElement);
     if ($value2 !== $value1) {
         $message = new Validation\Message('Fields %_tested-field_% and %_compare-field_% have different values', ['tested-field' => $validationItem->getElement()->getName(true, true), 'compare-field' => $this->sameElement], self::DIFFERENT);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     }
 }
예제 #5
0
파일: AlphaNum.php 프로젝트: gsouf/uform
 /**
  * @inheritdoc
  */
 public function validate(ValidationItem $validationItem)
 {
     $data = $validationItem->getValue();
     if ($this->allowSpaces) {
         $data = preg_replace('/\\s/', '', $data);
     }
     if (strlen($data) > 0 && !ctype_alnum($data)) {
         $message = new Validation\Message('The value must only contain numbers or letters', [], self::NOT_ALPHANUM);
         $validationItem->appendMessage($message);
         $validationItem->setInvalid();
     }
 }
예제 #6
0
파일: InRange.php 프로젝트: gsouf/uform
 /**
  * @inheritdoc
  */
 public function validate(ValidationItem $validationItem)
 {
     $hasMatch = false;
     if (is_array($this->range)) {
         foreach ($this->range as $value) {
             if ($value == $validationItem->getValue()) {
                 $hasMatch = true;
                 break;
             }
         }
     } else {
         if ($this->range->valueIsInRange($validationItem->getLocalData()->getDataCopy())) {
             $hasMatch = true;
         }
     }
     if (!$hasMatch) {
         $validationItem->setInvalid();
         $value = $validationItem->getValue();
         $message = new Message('Value not valid', ['value' => $value], self::NOT_IN_RANGE);
         $validationItem->appendMessage($message);
     }
 }
예제 #7
0
 /**
  * @inheritdoc
  */
 public function appendMessage($message, $elementName = null)
 {
     $this->bridgeOutput->appendMessage($message, $elementName);
 }