Yii2 在“select2”小部件上需要验证规则

Posted

技术标签:

【中文标题】Yii2 在“select2”小部件上需要验证规则【英文标题】:Yii2 required validation rule on "select2" widget 【发布时间】:2017-11-07 10:28:11 【问题描述】:

我在 Yii2 框架中使用kartik select2 widget。所需的验证规则不适用于它。 这是我的视图代码:

$form->field($model, 'city')->widget(\kartik\select2\Select2::classname(), [
            'data' => $cities,
            'options' => [
                'class' => 'form-control',
                'placeholder' => 'Please select city...',
                'multiple' => false,
            ],
            'pluginOptions' => [
                'allowClear' => true
            ],
        ])->label('City');

这是我的模型规则代码:

[['city'], 'required'],
[['city'], 'integer']

知道需要下拉菜单吗?

【问题讨论】:

代码看起来不错。发生什么了?它是否存储空值? 从我们得到的,这还不够。您可能需要提供更多代码(模型、控制器操作)。 @ali-tavafi 你找到解决方案了吗? 【参考方案1】:

在插件选项中使用它

pluginOptions' => [                   
                'initialize' => true,
            ],

这是我的工作代码

 $form->field($model, 'tech_type')->widget(Select2::classname(), [
            'options'=>['id'=>'tech-id'],
            'data' => ArrayHelper::map(Techtypes::find()->asArray()->all(), 'tech_id', 'tech_type'),
            'pluginOptions'=>[
                'initialize' => true,
                'placeholder' => 'Select Technician Type ...',
            ]
        ]);

【讨论】:

以上是关于Yii2 在“select2”小部件上需要验证规则的主要内容,如果未能解决你的问题,请参考以下文章

在 Yii2 Kartik Select2 小部件中,如何对选择事件进行 ajax 调用?

从 javascript 设置 yii2 select2 小部件的值

如何在 yii2 中使用 select2 小部件选择多个值

如何获取 yii2 select2 小部件的选定选项的值

Yii2. Kartik Select2 小部件宽度

yii2 kartik select2 小部件不显示列表的第一个元素