множественная проверка флажка для любого в кадре YII работает для этого примера - PullRequest
2 голосов
/ 24 января 2012

Привет, подскажите, пожалуйста, как я могу проверить множественный флажок, установленный в yii framework

array ('accept', 'required', 'requiredValue' => 1, 'message' => 'Вы должны выбрать alteast one')

Ответы [ 2 ]

1 голос
/ 24 января 2012

Поскольку эти значения обычно отправляются в виде массивов, я написал валидатор массива для этих случаев один раз: https://github.com/schmunk42/p3extensions/blob/master/validators/P3ArrayValidator.php

Пример использования:

array('accept',
  'ext.validators.P3ArrayValidator', 
  'min'=>1,
  'allowEmpty'=>false, 
  'message' => 'You should select at least one'
),
0 голосов
/ 12 мая 2015

извините за поздний ответ.

Но я нашел решение без установки какого-либо расширения.

Возьмите скрытое поле с тем же именем [Поле со списком флажков].

<?php echo $form->hiddenField($model,'categories');?>

Показать список категорий с именем, отличным от нашего имени поля (несколько флажков).

Но запомните «класс» и поиграйте с классом, чтобы сохранить значения.

<?php 
echo CHtml::checkBoxList(
    'group',
    //you can pass the array here which you want to be pre checked 
    explode(',', trim($model->attributes['categories'], ',')),
    CHtml::listData(Category::model()->findAll(),'id','name'),
    array('separator'=>'', 'template'=>'<tr><td style="width:5%;">{input}</td><td>{label}</td></tr>', 'class' => 'group')
);
?>

Таким образом, валидация также должна работать, вы получаете идентификаторы категорий через запятую, например, [,1,2,6,]

<script>
$(function(){
  $(".group").click(function(){
    var str = $('.group:checked').map(function() {
    return this.value;
    }).get().join();
    var groupCats = (str.length > 0) ? ','+str+',' : '';
    $('#ModelNAME_field').val(groupCats);
    // Get the 'ModelNAME_field' by viewing source of HTML of hidden field.
  });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...