jquery验证显示有效字段的先前错误

时间:2013-07-24 03:21:57

标签: jquery jquery-validate

刚开始使用jquery验证,我收到了无效字段的多个错误。我移动了错误容器,我可以看到字段更正后所有错误仍然存​​在。我最终将一堆错误堆叠在一起。我想看看“当前”错误。

你可以在这里看到我的意思:http://opiemedia.com/dev/lo/sv/varB/

这就是我使用表单验证

$(document).ready(function() {
 $("#evalFrm").validate({

   rules: {
     name: {
       required: true,
       minlength: 2,
     },
     company: {
       minlength: 2,
     },
     email: {
       required: true,
       email: true,
     },
     phone: {
       required:true,
       minlength: 7,
     }
   },
   errorLabelContainer: "#evalErr",
   errorClass: "error label label-warning"
  });
 });

这是HTML

<div class="span8 well" style="margin-left:0;">
      <form id="evalFrm action="#" method="post" class="evalFrm" name="evalFrm">
        <input name="oid" type="hidden" value="00D400000008j4N" />
        <input name="retURL" type="hidden" value="#" />
        <input class="span6" id="name" name="name" placeholder="Full Name" type="text" /> 
        <input class="span6" id="company" name="company" placeholder="Company" type="text" />
        <input class="span6" id="email" name="email" placeholder="Email" type="email" /> 
        <input class="span6" id="phone" name="phone" placeholder="Phone" type="tel" /> 
        <button class="btn btn-success span6 offset3" type="submit"onclick="_kmq.push(['record', 'Request Info Form Submission']);">Evaluate </button>
            </form>
            <div id="evalErr"></div>
          </div>

感谢您抽出宝贵时间帮助我!

1 个答案:

答案 0 :(得分:0)

我认为你在图书馆遇到了一个错误,问题是你在errorClass属性中有3个班级,如果你通过2个班级就可以了。

该错误位于errors()方法

中的以下行
var errorClass = this.settings.errorClass.replace(" ", ".");

它只替换了一个<space> .,因为它应该替换所有实例。

演示:Two classes works fine
演示:Three classes does not work

修正: 如果您使用的是validator.js文件的本地副本,则可以通过将行更改为

来修复它
var errorClass = this.settings.errorClass.replace(/\s/g, ".");

注意:我会尝试在当天晚些时候提交补丁