2

jquery.validate.jsをいくつかのフィールドで正しく動作させることができません。コードは次のとおりです。

$("#input_home_area").rules("add", {
    digits: true,
    maxlength: 3,
    minlength: 3
});

$("#input_home_prefix").rules("add", {
    digits: true,
    maxlength: 3,
    minlength: 3
});

$("#input_home_suffix").rules("add", {
    digits: true,
    maxlength: 4,
    minlength: 4
});

HTML:

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Area Code (ex: 954)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_area' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 954)" />
    </div>
</li>

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Prefix (ex: 555)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_prefix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 555)" />
    </div>
</li>

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Suffix (ex: 1236)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_suffix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 1236)" />
    </div>
</li>

問題を説明するのは難しいですが、最善を尽くします。を検証するスクリプトを少し含めると、と#input_home_suffixの両方が検証され、どこにあるかのように検証されます。そのため、 との両方を設定して 3 桁の入力を要求しても、4 桁を入力する必要があるかのように検証されます。およびを検証するスクリプトの一部をコメントアウトしても、それらは実際に検証されているかのように検証されます。#input_home_area#input_home_prefix#input_home_suffix#input_home_area#input_home_prefix#input_home_area#input_home_prefix#input_home_suffix

何が起こっているのかまったくわかりません。ページの他のすべてのフィールドは完全に検証されますが、問題があるのはこれらのフィールドだけです。

4

1 に答える 1

2

nameValidation プラグインを使用する場合は、入力を属性ではなく属性で呼び出す必要がありますid

于 2013-04-16T21:14:16.750 に答える