jQuery验证表单消息位置

时间:2011-06-29 13:11:30

标签: jquery jquery-validate position message

这是我的验证方法的一部分:

...
 rules: {
           name: {
               required: true
           },
           surname: {
               required: true
           },
           tel: {
               required: true,
               digits: true
           }
      },
      errorElement: "div" ,
      errorPlacement: function(error, element) {   
        error.insertAfter(element)     
    }....

问题是,当validate方法必须将消息放在表单上时,它不会删除先前的错误消息(如果存在)。所以我有这种情况(如果验证方法运行2次):

NAME:
HTML_TEXT_INPUT
ERROR1
ERROR2

当第二个错误在errorPlacement时,它不会删除先前的错误。

我可以解决这个问题吗?

更新:在jsFiddle http://jsfiddle.net/michelejs/Ax7Bs/中可行,但在http://mongolera.dyndns.biz/projects/regioni/form2.php我遇到同样的问题!

它可能是什么?

1 个答案:

答案 0 :(得分:1)

我很惊讶你得到了这个,这是你的实施的一个问题:

container is not defined

这实际上导致验证脚本在您链接的页面上的FF5上根本无法运行。

如果您能提供一个有效的例子,我很乐意提供更多反馈。

EDIT1 :我发现这可以在Chrome中使用,但您仍应定义container或删除该行,您可能会看到该问题消失。

EDIT2 :我看到您在页面上使用的是验证插件的1.5.2版本,而jsfiddle使用的是版本1.8。两个演示都使用jQuery 1.6。

jQuery 1.6和1.8以下的任何版本的验证插件都存在已知问题,我建议您升级到最新版本,因为我没有看到您提供的代码中出现任何明显错误,并且正如您所看到的那样在小提琴中工作得很好。以下是当前验证插件的链接: