VerbAlexVlad
@VerbAlexVlad
Программист-любитель

Как заставить работать Валидацию в Yii2?

Почему если вставить форму в виде
$form->field($model, 'user')->widget(Select2::classname(), []);

то при нажатии на кнопку формы валидация работает. Под полем, если оно пустое, отображается ошибка в зависимости от условий в "rules".

А если в таком виде:
echo Select2::widget(['model' => $model, 'attribute'     => 'user',]);

то валидация слетает, и отправляется даже пустая форма

что с этим делать?
Сразу скажу, что у меня поля подгружаются через ajax, в зависимости от выбора в одном select. Поэтому и вывожу всё во втором виде, без field.
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ответы на вопрос 1
Описывая поле через $form->field() процесс идет через ActiveField, который генерирует валидную с точки зрения клиентской валидации HTML структуру. В ином же случае HTML код выглядит иначе, и стандартная клиентская валидация не может отработать корректно.
Изучив код клиентской валидации, можно понять какие элементы он ожидает, и подставив их можно добиться работы кода. К примеру это селекторы самих полей , селекторы контейнера (filed-*), селекторы блока размещения ошибок.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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