javascript - 在 yii2 中使用 j 查询选择 2 小部件验证?
问题描述
所以我为选择字段编写了一个代码,我正在使用 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 Widget,这还不够。所以我必须使用 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!')
}
});
});
推荐阅读
- django - 请求行太大 (8192 > 4094)
- javascript - 无法用 Electron 写入文件
- delphi - Google Oauth2 的 invalid_grant 错误问题
- javascript - 设置条形码多标记 // AR.js
- vb.net - 如何将剪贴板中的文本拆分为 DataGridView
- sendgrid - Sendgrid - 通过动态模板添加电子邮件附件
- mysql - 两张桌子上的唯一键
- python - 可以将 cv2 blobFromImage 传递给 keras 模型预测吗?
- vba - TransferSpreadsheet 导出前导撇号
- spring-security - 有没有办法在 webflux 项目中使用 WebSecurityExpressionRoot#hasIpAddress