为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕的地6264312 2019-12-12 14:15:09
我正在使用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    }}
查看完整描述

3 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

我自己遇到了这个问题。在基于步骤构建表单时,我需要有条件地验证表单的各个部分(即某些输入在运行时动态添加)。结果,有时一个选择下拉列表将需要验证,而有时则不需要。但是,在折磨结束之前,需要对其进行验证。结果,我需要一个可靠的方法,而不是解决方法。我查阅了的源代码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

}

//used

var 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();


查看完整回答
反对 回复 2019-12-12
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如果您只想隐藏错误:


$("#clearButton").click(function() {

  $("label.error").hide();

  $(".error").removeClass("error");

});

如果指定了errorClass,则调用该类以隐藏error(默认)我上面使用的那个。


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 874 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信