如何清除jQuery验证错误消息?

我正在使用jQuery验证插件进行客户端验证。editUser()单击“编辑用户”按钮将调用该功能,此按钮将显示错误消息。


但是,当我单击“清除”按钮时,我想清除表单上的错误消息,这将调用一个单独的函数clearUser()。


function clearUser() {

    // Need to clear previous errors here

}


function editUser(){

    var validator = $("#editUserForm").validate({

        rules: {

            userName: "required"

        },

        errorElement: "span",

        messages: {

            userName: errorMessages.E2

        }

    });


    if(validator.form()){

        // Form submission code

    }

}


慕的地6264312
浏览 879回答 3
3回答

斯蒂芬大帝

我自己遇到了这个问题。在基于步骤构建表单时,我需要有条件地验证表单的各个部分(即某些输入在运行时动态添加)。结果,有时一个选择下拉列表将需要验证,而有时则不需要。但是,在折磨结束之前,需要对其进行验证。结果,我需要一个可靠的方法,而不是解决方法。我查阅了的源代码jquery.validate。这是我想出的:通过指示验证成功来清除错误呼叫处理程序以显示错误清除所有存储的成功或错误重置整个表单验证这是代码中的样子:function clearValidation(formElement){ //Internal $.validator is exposed through $(form).validate() var validator = $(formElement).validate(); //Iterate through named elements inside of the form, and mark them as error free $('[name]',formElement).each(function(){   validator.successList.push(this);//mark as error free   validator.showErrors();//remove error messages if present }); validator.resetForm();//remove error class on name elements and clear history validator.reset();//remove all error and success data}//usedvar myForm = document.getElementById("myFormId");clearValidation(myForm);缩小为jQuery扩展:$.fn.clearValidation = function(){var v = $(this).validate();$('[name]',this).each(function(){v.successList.push(this);v.showErrors();});v.resetForm();v.reset();};//used:$("#formId").clearValidation();

侃侃无极

如果您只想隐藏错误:$("#clearButton").click(function() {  $("label.error").hide();  $(".error").removeClass("error");});如果指定了errorClass,则调用该类以隐藏error(默认)我上面使用的那个。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JQuery