jquery验证删除消息并更改标签样式

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验证。使用onfocus函数

但是,我想删除错误消息,只在表单中设置适当的标签样式

我很难理解我需要补充什么:

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 );
    }
}
这些都是默认值,只需添加行即可将类应用于其他
标签
元素