验证多个DropDownList yii2

时间:2017-06-29 17:34:59

标签: php yii2 yii2-advanced-app yii2-model

我正在尝试验证多个下拉列表,如下所示:

example error

查看/形式:

<?=
$form->field($hours, 'hours_id', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Hours::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --'),
])
?>

模型规则:

['hours_id', 'each', 'rule' => ['integer']],

结果:

  

小时无效。

有人知道什么是错的?我尝试自定义验证,我得到同样的错误。

2 个答案:

答案 0 :(得分:0)

请你查一下这个答案。

像这样更改您的模型规则

 [['hours_id'], 'each','integer'],

如果有效,请告诉我。

答案 1 :(得分:0)

默认情况下,字段name的多选下拉列表将按以下格式发送选项:

name=value1&name=value2

能够以数组形式接收数据(因为each验证可疑)您应该使用name[]代替name

对于你的情况

<?=
    $form->field($hours, 'hours_id[]', ['template' => '{label}{input}<span class="help-block">{hint}{error}</span>'])->dropDownList(Hours::getHierarchy(), ['size' => 10, 'multiple' => 'multiple'], ['prompt' => Yii::t('app', '-- Select --')])
?>