簡體   English   中英

選擇2小部件驗證與yii2中的j查詢?

[英]select 2 widget validation with j query in yii2?

所以我寫了一個用於選擇字段的代碼,我正在使用yii2,這是我的代碼

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

我想使用到目前為止我嘗試過的驗證規則的jquery validate插件來驗證它

$('form').validate({


errorClass:'help-block help-block-error',

errorPlacement: function(error, element) {

if(element.attr("name") == "TestModel[primaryfield]" )
{
    error.insertAfter(".error_message2");
}
else
      error.insertAfter(element);
 },

       rules: {
    'TestModel[email]': {
    required:true,
   email: true 
  },

 'TestModel[name]':
 {
  required:true,
},

'TestModel[primaryfield]':
 {
   required:true
 }

 },

我的電子郵件和姓名得到驗證,但select2字段(主字段未得到驗證)我只想在有人可以給我解決方案的情況下應用驗證規則

使用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!')
        }
    });
});

這是表格上的結果: 在此處輸入圖片說明 我的select2 HTML結構:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM