如何使用jQuery验证强制单个错误?

时间:2010-06-29 22:35:41

标签: jquery jquery-validate

我正在使用表单上的jQuery验证插件。我通过javascript设置基本规则和消息,如下所示:

   rules:{
        "billing.firstname":{
            required:true
        },
    messages:{
        "billing.firstname":"First name is required."}

我还需要使用javascript函数将字段显示为无效,并使用validator.addMethod完成指定消息,然后在相关字段上调用validate()。element(element)。

我遇到的问题是我无法使用addMethod调用中提供的消息覆盖最初设置的消息。因此,当我添加的规则被用于验证时,即使我在添加新规则之前清除所有规则,也会始终显示原始的“名字是必需的”消息。

有没有办法强制在单个元素上验证单个规则,或者以某种方式访问​​分配的消息,以便我可以暂时更改它?

作为参考,总体目标是在我的控件页面上发生一些其他的ajax类型函数,我需要允许它们使用JS函数手动设置字段无效状态和消息。

提前致谢 -

B'/ P>

1 个答案:

答案 0 :(得分:1)

仅供参考 - 我想出了如何做到这一点。它是通过一个没有为插件记录的方法,但是我能找到访问最初设置的消息的唯一方法。

我正在使用

form.validate().settings.messages[elementId]

获取最初设置的特定元素的消息,并将其设置为不同的元素,同时将原始元素保持为元素本身的.data部分。这样onChange我可以删除自定义消息并重置为原始。

B'/ P>