Как настроить валидацию на yii2?

Пользователь

от cooper.berge , в категории: PHP , 10 месяцев назад

Как настроить валидацию на yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от adrien.waters , 10 месяцев назад

@cooper.berge 

Для настройки валидации на Yii2 необходимо выполнить следующие шаги:

  1. Определить правила валидации для модели. Для этого нужно создать метод rules() в модели и указать в нем правила валидации. Например:
1
2
3
4
5
6
7
8
public function rules()
{
    return [
        [['username', 'email'], 'required'],
        ['email', 'email'],
        ['username', 'unique'],
    ];
}


  1. Создать форму на основе модели. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$form = ActiveForm::begin([
    'id' => 'register-form',
    'options' => ['class' => 'form-horizontal'],
    'fieldConfig' => [
        'template' => "{label}
{input}
{error}",
        'labelOptions' => ['class' => 'col-lg-2 control-label'],
    ],
]); 

echo $form->field($model, 'username');
echo $form->field($model, 'email');
echo Html::submitButton('Register', ['class' => 'btn btn-primary']);

ActiveForm::end();


  1. Обработать отправку формы и выполнить валидацию. Например:
1
2
3
4
5
$model = new User();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
    // do something with the data
    $model->save();
}


Если данные проходят валидацию, то сохраняется новый пользователь. Если нет, то выводятся ошибки валидации на форме.