使用jQuery验证插件清除错误消息或重置验证

问题描述

| 我是jQuery的新手,如果这个问题很基础,我深表歉意。 我正在使用bassistance \的Valiation插件来验证简单表格。文本字段之一是必填字段-因此我在规则下设置了必需的标志,并在消息下设置了相应的消息。我遇到的问题是,一旦启动验证,即使该字段为空(即,如果用户删除该字段的内容以从头开始),也会显示我设置的错误消息。如果该字段为空,是否有清除错误消息或重置验证的方法?我尝试使用resetForm(),但在仍在验证时似乎无法使用它。这是代码的一部分: $(document).ready(function(){
  var validator = $(\"#form1\").validate({
     rules: {
         fname: {
             required: true,remote: \'http://localhost/check_name.PHP\'  
         }
       },messages: {
         fname: {
             required: \"Enter a valid jobname. eg: 99999_disney\",remote: \"Name already exists\";
                    }   

               } 
  });
谢谢你的帮助!     

解决方法

        我解决了问题。不确定这是否是最优雅的方法,但它确实有效。我不得不以某种方式清除该字段的无效状态。我尝试了
resetForm()
,但是没有用。最后,我使用了以下内容:
if ($(\"#ID\").val()==\"\") {
                validator.resetForm();
                $(\"#ID\").rules(\"remove\",\"required minlength\");
        }
并根据需要使用以下命令将这些规则添加回ID中:
$(\"#ID\").rules(\"add\",{
                             required: true,minlength: 5,messages: {//messages
                             },});
    ,        您可以尝试使用验证方法,如下所示:
jQuery.validator.addMethod(\"ValReqJobName\",valReqJobName,\"Enter a valid jobname.\");
然后,在规则对象的\“ fname \”下,只需添加\“ ValReqJobName:true \”。 在\“ valReqJobName \”函数中,您可以允许该字段为空白,或添加所需的任何自定义逻辑。