如何让jQuery Validator使用我预定义的错误元素?

时间:2012-01-20 06:58:37

标签: jquery validation

我有一个表单设置,允许用户注册我们的移动网站。它使用jQuery验证插件进行基本的javascript验证。但是,我们的表单提交脚本也会执行验证。因此,如果发现错误,服务器会将HTTP重定向发送回带有$_GET个数据的错误页面。

加载表单页面时,$_GET数组中发现的任何错误都会输出到<div class="error">中的相应字段。这很有效。

由于jQuery validator和我们的PHP脚本都执行相同的验证,因此它们应该将错误输出到同一个div.error字段。一旦字段被验证,这也会(理论上)摆脱错误消息。

但是,如果我在jQuery验证器中更改errorElement: "div",由于某种原因甚至没有提到错误。将其更改回emlabelp即可解决问题。但是,如果我们将初始元素更改为其中任何元素,它会再次中断。

它必须是jQuery验证脚本内置的功能,除非由验证器创建,否则它不会向已存在的元素输出错误。我怎么能绕过这个?

这是一个演示问题的小提琴,将errorElement: "div"更改为任何类型的元素,它将起作用。

http://jsfiddle.net/mDvHh/

1 个答案:

答案 0 :(得分:1)

覆盖errorPlacement代替errorElement处理程序,例如:

    errorPlacement: function(error, element) {
        element.next(".error").html(error);
    },

另见your updated jsfiddle