Поменять целевой контейнер для вывода ошибки ActiveField

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
ChroniC
Сообщения: 2
Зарегистрирован: 2022.03.31, 15:02

Поменять целевой контейнер для вывода ошибки ActiveField

Сообщение ChroniC »

Здравствуйте!

$form - объект ActiveForm,

Допустим есть строчка:

Код: Выделить всё

$form->field($model, 'my_column', ['options' => ['class' => 'container']])->textInput()
При обработке данного кода будет создан div с классом container и в нем input. Если в моей модели прописаны какие-либо требования для значений 'my_column', то, при неправильном вводе, будет генерироваться ошибка. По умолчанию, текст ошибки выводится в блок div с классом
help-block, который находится на одном уровне с input, являясь прямым потомком блока с классом container.

Можно ли как-то переопределить блок, в который будет выводится текст ошибки? Если да, то может ли этот блок находится за пределами родительского (для input) блока?

Пробовал писать свойство errorOptions, но там получилось только поменять тег-контейнер для текста ошибки и его атрибуты.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Поменять целевой контейнер для вывода ошибки ActiveField

Сообщение SiZE »

Как-то так должно сработать

Код: Выделить всё

$form->field($model, 'my_column', ['options' => ['class' => 'container']])->error(false)->textInput();

echo Html::error($model, 'my_column', $options);
Ответить