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

时间:2011-06-15 18:47:30

标签: jquery-plugins

我是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";
                    }   

               } 
  });

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我解决了这个问题。不确定它是否是最优雅的方式,但它的工作原理。我不得不以某种方式清除该领域的无效状态。我试过了resetForm()但是没有用。最后我使用了这样的东西:

if ($("#ID").val()=="") {
                validator.resetForm();
                $("#ID").rules("remove", "required minlength");
        }

并根据需要使用以下命令将这些规则添加回ID:

$("#ID").rules("add", {
                             required: true,
                             minlength: 5,    
                             messages: {//messages
                             },                             
                });

答案 1 :(得分:0)

您可以尝试使用验证方法,如下所示:

jQuery.validator.addMethod("ValReqJobName", valReqJobName, "Enter a valid jobname.");

然后,在rules对象的“fname”下,添加“ValReqJobName:true”。

在“valReqJobName”函数中,您可以允许该字段为空,或添加您想要的任何自定义逻辑。