예제 #1
0
 public function check(Field $field)
 {
     if (!preg_match($this->params['pattern'], $field->getValue())) {
         return false;
     }
     return true;
 }
 public function check(Field $field)
 {
     $this->errorMessage = 'Значение, указанное для поля ' . $field->getCaption() . ' не является уникальным';
     if (in_array($field->getValue(), $this->params)) {
         return false;
     }
     return true;
 }
예제 #3
0
 public function check(Field $field)
 {
     $patternEmail = '/[?+@?+]/';
     $this->errorMessage = 'Поле ' . $field->getCaption() . ' должно содержать валидный адрес e-mail';
     if (!preg_match($patternEmail, $field->getValue())) {
         return false;
     }
     return true;
 }
 public function check(Field $field)
 {
     $this->errorMessage = 'Значение, указанное для поля ' . $field->getCaption() . ' не является уникальным';
     $this->params[1][] = $field->getValue();
     if (!call_user_func_array($this->params[0], $this->params[1])) {
         return false;
     }
     return true;
 }
예제 #5
0
 public function check(Field $field)
 {
     $list = $this->params;
     $this->errorMessage = 'Значение поля ' . $field->getCaption() . ' должно назодиться в пределах списка';
     if (!in_array($field->getValue(), $list)) {
         return false;
     }
     return true;
 }
예제 #6
0
 public function check(Field $field)
 {
     $this->errorMessage = 'Поле ' . $field->getCaption() . ' должно быть заполнено';
     if ($field instanceof FieldList) {
         $this->errorMessage = 'Должно быть выбрано значение для поля ' . $field->getCaption();
     }
     if ($field->getValue() == null) {
         return false;
     }
     if ($field->getValue() == '') {
         return false;
     }
     return true;
 }
예제 #7
0
 public function check(Field $field)
 {
     $min = $this->params['min'];
     $max = $this->params['max'];
     $length = strlen($field->getValue());
     if ($max != 0) {
         $this->errorMessage = 'Длина вводимого значения для поля ' . $field->getCaption() . ' должна быть не больше ' . $max;
     }
     if ($min != 0) {
         $this->errorMessage = 'Длина вводимого значения для поля ' . $field->getCaption() . ' должна быть не меньше ' . $min;
     }
     if ($max != 0 && $min != 0) {
         $this->errorMessage = 'Длина вводимого значения для поля ' . $field->getCaption() . ' должна быть не меньше ' . $min . ' и не больше ' . $max;
     }
     if ($min == 0 && $length > $max || $max == 0 && $length < $min || $min != 0 && $max != 0 && ($length < $min || $length > $max)) {
         return false;
     }
     return true;
 }
예제 #8
0
 public function addRule(Rule $rule, Field $field)
 {
     $this->rules[$field->getName()][] = $rule;
 }
예제 #9
0
 private function rend(Field $field)
 {
     return $field->renderSelf();
 }
예제 #10
0
 public function addField(Field $field)
 {
     $this->fields[$field->getName()] = $field;
     $this->hash[count($this->hash)] = $field->getName();
     return $this;
 }