【问题标题】:Validate multiple DropDownList yii2验证多个 DropDownList yii2
【发布时间】:2017-06-29 17:34:58
【问题描述】:

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

视图/表单:

<?=
$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']],

结果:

小时数无效。

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

【问题讨论】:

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


    【解决方案1】:

    你能检查一下这个答案吗?

    像这样更改您的模型规则

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

    如果有效,请告诉我。

    【讨论】:

      【解决方案2】:

      默认情况下,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 --')])
      ?>
      

      【讨论】:

        猜你喜欢
        • 2017-01-06
        • 2016-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多