我为我的表单添加了jQuery验证插件,并使用select2插件。为了检查select2验证,我为validatioin插件添加了ignore: "",
,如下所示:
$("#form").validate({
ignore: "",
rules: {
tags: {
required: true,
},
},
messages: {
tags: {
required: "error ! required field",
},
},
highlight: function (element) {
$(element).closest('.form-control').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.form-control').removeClass('has-error');
},
errorElement: 'div',
errorClass: 'help-block',
errorPlacement: function (error, element) {
if (element.parent('.input-group').length) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});
这是可行的,并显示了所需的消息,但当我选择标签时,表单验证不工作,也不删除所需的消息。怎么解决这个问题?!
演示
发布于 2015-07-20 00:36:21
jQuery验证插件由某些用户事件自动触发。但是,由于Select2动态地更改后台隐藏的input
值,因此不会自动触发验证。
只要更改隐藏元素的值,就只需要一个以编程方式触发验证测试的change
处理程序。
$('input[name="tags"]').on('change', function() {
$(this).valid();
});
演示: http://jsfiddle.net/X6V2s/194/
https://stackoverflow.com/questions/31504360
复制相似问题