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

上に何かありますが、入ったら

aaaa11、2 つのエラー メッセージが表示されるはずですが、「数字以外」のメッセージしか表示されません。上記の 2 つのルールを入れ替えると、「長すぎます」というメッセージが表示されます。

私が欲しいのは、それらの両方が同時にあるのですが、どうすればいいですか? ありがとう

4

1 に答える 1

1

引用OP:

「私が欲しいのは、それらの両方が同時にあることですが、どうすればいいですか?」

できません。 これはプラグインの機能ではありません

ルールは、宣言した順序で検査されます。1 つの特定のフィールドに 3 つのルールがある場合、最初のルールが満たされるまで、2 番目と 3 番目のルールは検査されません。ただし、フィールドにrequiredルールも含まれている場合は、順序に関係なく、常に他のルールよりもに検査されます。

検証される各フィールドごとに1 つのエラーlabel要素のみが作成され、その内容は必要に応じて置換または非表示にされます。プラグインを書き直さない限り、すべてのルールからさまざまなメッセージを同時に表示する方法はありません。


状況によっては、このようなことをしたいかもしれません...

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

http://jsfiddle.net/Zqc6D/

于 2013-07-20T16:42:29.533 に答える