我正在尝试验证多个下拉列表,如下所示:
查看/形式:
<?=
$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']],
结果:
小时无效。
有人知道什么是错的?我尝试自定义验证,我得到同样的错误。
答案 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 --')])
?>