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