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

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

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

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

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

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

что с этим делать?
Сразу скажу, что у меня поля подгружаются через ajax, в зависимости от выбора в одном select. Поэтому и вывожу всё во втором виде, без field.
  • Вопрос задан
  • 38 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Описывая поле через $form->field() процесс идет через ActiveField, который генерирует валидную с точки зрения клиентской валидации HTML структуру. В ином же случае HTML код выглядит иначе, и стандартная клиентская валидация не может отработать корректно.
Изучив код клиентской валидации, можно понять какие элементы он ожидает, и подставив их можно добиться работы кода. К примеру это селекторы самих полей , селекторы контейнера (filed-*), селекторы блока размещения ошибок.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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