选择2小部件验证与yii2中的j查询?

时间:2018-07-13 08:18:27

标签: javascript php jquery yii2

所以我已经为选择字段编写了代码,我正在使用yii2,这是我的代码

MetaData metaData = connection->getMetaData((utext*)L"\"TableName\"", MetaData::PTYPE_TABLE);
vector<MetaData> metaDataVector = metaData.getVector(MetaData::ATTR_LIST_COLUMNS);
for (UINT i = 0; i < (UINT)metaDataVector.size(); i++)
{
   if(metaDataVector[i].getInt(MetaData::ATTR_DATA_TYPE) == OCCI_SQLT_CHR)
      columnInfo.size = metaDataVector[i].getInt(MetaData::ATTR_DATA_SIZE);
}

我想使用到目前为止我尝试过的验证规则的jquery validate插件来对其进行验证

 <?= $form->field($model, 'primaryfield')->widget(Select2::classname(), ['data' 
   => $listData, 
   'options' => ['placeholder'=>'Select', 'multiple' => 
   false,'required'=>true], 'pluginOptions' => ['tags' => false, 'tokenSeprators' 
  => [',', ' '], 'maximumInputLength' => 20], ],])->label(false); ?>

我的电子邮件和姓名得到验证,但是select2字段(主字段没有得到验证),我只想在有人可以给我解决方案的情况下应用验证规则

1 个答案:

答案 0 :(得分:0)

使用Yii2,您只需在模型中声明规则。然后,

在您的模板中,启用AcitveForm的“ enableClientValidation”选项,如下所示:

<?php $form = \kartik\form\ActiveForm::begin([
    'enableClientValidation' => true,
    'options' => [
        'id' => 'ajax-contact-form'
    ]
]); ?>

使用Select2小部件还不够。因此,我必须使用如下所示的javascript:

$(document).ready(function () {
    $("select").on("select2:close", function (e) {
        if (!$(this).val()) {
            var formGroup = $(this).parent().parent();
            formGroup.addClass('has-error');
            $('.help-block:first', formGroup).html('Please choose one partner!')
        }
    });
});

这是表格上的结果: enter image description here 我的select2 HTML结构:

enter image description here