Как вывести ошибки при валидации формы в Yii2

· Yii2 и Снипеты · 1 мин чтения

В этой записи, я покажу способ вывода ошибок формы в Yii2 в том месте, где вам хочется. Так же, распишу почему вам это может пригодиться.

Для чего это может пригодиться?

  • Если вам не хочется вводить ошибки под каждый полем, а где-то в одном месте.
  • Неплохой способ для дебагга. Если вам нужно понять почему ваша форма не отправляется, то скорее всего у вас есть поле на required (обязательное поле) и самого поля нет в форме и поэтому выдает ошибку. Таким способом можно понять почему у вас происходит проблема.
  • Если поле которое находится в форме не подходит под ошибку и нужно вывести, например, общую ошибку.
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model frontend\models\User */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="participant-form">
<?php $form = ActiveForm::begin(); ?>

<?= $form->errorSummary($model); ?>

...

$form->errorSummary($model) та самая часть, которая выводит ошибки. Выводятся они в  ul тэге.