Beispiel #1
0
 public function rules()
 {
     return [['familiya', ImyaChelovekaValidator::className()], ['familiya', 'required'], ['imya', ImyaChelovekaValidator::className()], ['imya', 'required'], ['otchestvo', ImyaChelovekaValidator::className()], ['otchestvo', 'default'], ['data_rozhdeniya', DateValidator::className(), 'sqlAttribute' => 'data_rozhdeniya'], ['data_rozhdeniya', 'required'], ['telefon', TelefonValidator::className(), 'sqlAttribute' => 'telefon'], ['telefon', 'required'], ['email', EmailValidator::className()], ['email', 'required'], ['pasport_no', PasportNomerValidator::className(), 'sqlAttribute' => 'pasport_no'], ['pasport_no', 'required'], ['pasport_kem_vydan_kod', PasportKodPodrazdeleniyaValidator::className(), 'sqlAttribute' => 'pasport_kem_vydan_kod'], ['pasport_kem_vydan_kod', 'required'], ['pasport_kem_vydan', NazvanieValidator::className()], ['pasport_kem_vydan', 'required'], ['pasport_kogda_vydan', DateValidator::className(), 'sqlAttribute' => 'pasport_kogda_vydan'], ['pasport_kogda_vydan', 'required'], ['inn', InnValidator::className(), 'sqlAttribute' => 'inn'], ['inn', 'required'], ['snils', SnilsValidator::className(), 'sqlAttribute' => 'snils'], ['snils', 'required'], ['propiska', 'required'], ['propiska', 'string']];
 }
Beispiel #2
0
 /**
  * Validate 'value' attribute against of 'value_type'.
  */
 public function validateValue($attribute, $params = [])
 {
     if ($this->required) {
         $required = Yii::createObject(['class' => \yii\validators\RequiredValidator::className(), 'message' => Yii::t('app', '{label} is required.', ['label' => $this->title])]);
         if (!$required->validate($this->{$attribute})) {
             $this->addError($attribute, $required->message);
             return;
         }
     } else {
         $value = $this->{$attribute};
         if ($value === null || $value === '') {
             return;
         }
     }
     switch ($this->value_type) {
         case static::TYPE_INT:
             $args = ['class' => NumberValidator::className(), 'integerOnly' => true, 'message' => 'Not an integer'];
             break;
         case static::TYPE_NUM:
             $args = ['class' => NumberValidator::className(), 'message' => 'Not a number'];
             break;
         case static::TYPE_EMAIL:
             $args = ['class' => EmailValidator::className(), 'message' => 'Not a valid email'];
             break;
         case static::TYPE_URL:
             $args = ['class' => UrlValidator::className(), 'message' => 'Not a valid url'];
             break;
         case static::TYPE_SWITCH:
             $args = ['class' => BooleanValidator::className(), 'message' => 'Must be boolean value'];
             break;
         case static::TYPE_TEXT:
         case static::TYPE_EDITOR:
         case static::TYPE_PASSWORD:
             $args = ['class' => StringValidator::className()];
             break;
         case static::TYPE_SELECT:
             $args = ['class' => RangeValidator::className(), 'range' => array_keys($this->options), 'message' => 'Invalid value'];
             break;
         default:
             throw new InvalidParamException('Unknown config type: ' . $this->value_type);
     }
     $validator = Yii::createObject($args);
     if (!$validator->validate($this->{$attribute})) {
         $this->addError($attribute, $validator->message);
     } else {
         $this->castType();
     }
 }