jquery验证删除消息并更改标签样式
我正在使用jquery验证。使用onfocus函数 但是,我想删除错误消息,只在表单中设置适当的标签样式 我很难理解我需要补充什么:jquery验证删除消息并更改标签样式,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jquery验证。使用onfocus函数 但是,我想删除错误消息,只在表单中设置适当的标签样式 我很难理解我需要补充什么: jQuery('form').validate({ onfocusout: function(e) { this.element(e); } }); 为了实现这一点 我尝试过这样做: jQuery('form').validate({ errorPlacement: function(){ }, onfocuso
jQuery('form').validate({
onfocusout: function(e) {
this.element(e);
}
});
为了实现这一点
我尝试过这样做:
jQuery('form').validate({
errorPlacement: function(){ },
onfocusout: function(e) {
this.element(e);
jQuery(element.form).find("label[for=" + element.id + "]")
.addclass=("error");
}
});
但接收:“未定义元素”
但是,我想删除错误消息,只在表单中设置适当的标签样式
你的方法有缺陷onfocusout
仅控制事件本身,不会用于控制元素的样式。这是因为除了onfocusout
之外,验证还由许多事件触发
如果要抑制错误消息,请将
errorPlacement
选项设置为return false
errorPlacement: function (error, element) {
return false;
}
如果您想为元素设置样式,只需在CSS中使用插件设置的默认类<验证失败时,代码>错误应用于数据输入元素和消息标签;验证通过时,应用有效
。由于这两个类也适用于这两个类,因此您需要使用特定的CSS选择器
input.error {
/* this is the input element when it fails validation */
}
input.valid {
/* this is the input element when it passes validation */
}
label.error {
/* this is the error message element when there is an error */
/* by default, the message is hidden after the element passes validation */
}
如果要更改在验证通过/失败时应用类的方式,请使用高亮显示
和取消高亮显示
选项
highlight: function( element, errorClass, validClass ) {
if ( element.type === "radio" ) {
this.findByName( element.name ).addClass( errorClass ).removeClass( validClass );
} else {
$( element ).addClass( errorClass ).removeClass( validClass );
}
},
unhighlight: function( element, errorClass, validClass ) {
if ( element.type === "radio" ) {
this.findByName( element.name ).removeClass( errorClass ).addClass( validClass );
} else {
$( element ).removeClass( errorClass ).addClass( validClass );
}
}
这些都是默认值,只需添加行即可将类应用于其他标签
元素