@teodor7teodor7

Как в yii2 сделать для формы с переменным количестовм checkBox и валидацию?

Добрый день подскажите выводим через REST категории, пользователь выбирает нужные ставив галочки в чекбоксах. Каким образом можно проволидировать и какой лучше виджет использовать?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
$categories = Category::find()->indexBy('id')->orderBy('id')->all();
$items = ArrayHelper::map($categories,'id','title');
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'checkboxList')->checkboxList($items); ?>
 <?php ActiveForm::end(); ?>


код я привел условно, можно в модели метод сделать и запрашивать в контрллере.
Ну а правила сами смотрите, тип boolean, и обязательно или не обязательно. остальное по обстоятельствам.
Ответ написан
Комментировать
mitaichik
@mitaichik
Мало информации. Что вы хотите провалидировать?

На вскидку: что есть хоть одна категория - required, что все значения integer - each, что есть такие категории - in или exist, b и т.п. Можно написать кастомный валидатор (метод\анонимная функция\класс).

Я бы выбрал кастомный валидатор, так как многое нужно проверять, и один метод который все это делает будет выразительнее чем несколько валидаторов.

Что касается виджет - Angular :) Возможно можно сделать что то типа
for($i =0; $i< 10; $i++){
    $form->field($model, 'checkboxList[]')->checkboxList($items); ?>
}


Но это догадки, надо проверять.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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