Задать вопрос

Как отображать ошибки валидации из нескольких форм в yii2?

Есть 2 формы на одной странице. Как сделать, чтобы эти 2 формы отображали ошибки пользователю, в случае некорректных данных?
if ($modelLog->load(Yii::$app->request->post()) && $modelLog->validate() && 
$model->load(Yii::$app->request->post()) && $model->validate()) 
{
...
}

При текущем коде ошибки валидации отображаются только для первой формы ($modelLog). Если поменять местами - то соответственно выведутся ошибки для $model.
  • Вопрос задан
  • 2904 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
metamorph
@metamorph
Это связано с тем, что проверка and-условий не идет дальше первого встретившегося false (в Вашем случае - $modelLog->validate()).

Чтобы валидировать обе формы сразу, видоизмените логику проверки. Что-нибудь типа
$isValid1 = $modelLog->validate();
$isValid2 = $model->validate();
if ($isValid1 && $isValid2) {...}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы