Joe*_*sey 2 jquery jquery-validate
我有jQuery Validation插件:
//name validation
cnForm.validate({
rules: {
customerName: {
required: true,
minlength: 3
},
date: {
required: true,
dateRegex: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.](19|20)\d\d$/,
maxlength: 10
}
},
onkeyup: false,
onclick: false,
onfocusout: false,
messages: {
customerName: {
required: "Unable to proceed, search field is empty"
},
date: {
required: "Unable to proceed, search field is empty"
}
},
errorPlacement: function(error, element) {
var trigger = element.next('.ui-datepicker-trigger');
error.insertAfter(trigger.length > 0 ? trigger : element);
}
});
Run Code Online (Sandbox Code Playgroud)
每当我输入导致错误的数据时,我会在输入框/按钮后显示相应的新标签,但该类error也应用于输入框.有没有办法避免将该类分配到框中?谢谢.
"...但是类错误也应用于输入框.有没有办法避免将该类分配给框?"
使用highlight和unhighlight回调函数覆盖默认函数.
这些是默认值......
highlight: function (element, errorClass, validClass) {
if (element.attr('type') === "radio") {
this.findByName(element.attr('name')).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
},
unhighlight: function (element, errorClass, validClass) {
if (element.attr('type') === "radio") {
this.findByName(element.attr('name')).removeClass(errorClass).addClass(validClass);
} else {
$(element).removeClass(errorClass).addClass(validClass);
}
}
Run Code Online (Sandbox Code Playgroud)
按照文档 ......
回调传递三个参数:
element
类型:Element
无效的DOM元素,通常是输入.
errorClass
类型:String
errorClass选项的当前值.
validClass
类型:String
validClass选项的当前值.
编辑:
要完全删除此功能......
$('#myform').validate({
highlight: function (element, errorClass, validClass) {
return false; // ensure this function stops
},
unhighlight: function (element, errorClass, validClass) {
return false; // ensure this function stops
},
// other options
});
Run Code Online (Sandbox Code Playgroud)
您可以使用突出显示回调来覆盖默认行为。
$(".selector").validate({
highlight: function(element, errorClass) {
// Override the default behavior here
}
});
Run Code Online (Sandbox Code Playgroud)