jQuery Validation插件 - 如何一次显示所有规则的所有消息?

时间:2013-07-20 09:00:04

标签: jquery jquery-validate

    rules: {
        zip: {
            digits: true,
            maxlength: 4
        }
    },
    messages: {
        zip: {
            digits: "non-digit",
            maxlength: "too-long"
        }
    },

我有上面的内容,但如果我输入

aaaa11,我期待两条错误消息,但我只收到“非数字”消息。如果我交换上面的两个规则,我会得到“太长”的消息。

我想要的是他们两个在同一时间,怎么做?感谢

1 个答案:

答案 0 :(得分:1)

引用OP:

  

“我想要的是他们两个人在同一时间,怎么做?”

你做不到。 This is not a feature of the plugin

按照您声明规则的相同顺序检查规则。如果在一个特定字段上有三个规则,则在满足第一个规则之前不会检查第二个和第三个规则。但是,当某个字段还包含required规则时,始终其他规则之前检查,无论顺序如何。

每个要验证的字段只创建​​一个错误label元素,并根据需要替换和/或隐藏其内容。没有重新编写插件就没有办法让所有规则中的各种消息同时显示。


根据您的情况,可能想要做类似的事情......

rules: {
    zip: {
        digits: true,
        maxlength: 4
    }
},
messages: {
    zip: "must contain only digits and no more than 4 characters"
},

http://jsfiddle.net/Zqc6D/