У меня есть форма с разными поданными наборами. На каждом шаге я проверяю всю форму с правилом, в котором должны быть проверены только видимые элементы формы. Я вижу, что на первом этапе валидация работает нормально. Но на шаге 2 проверяются только некоторые из полей. Вот определение формыПроверка jquery не работает для всех полей
<form id="enquiryForm" action="">
<div id="fieldset1" style="display: block;">
<fieldset class="addingenq">
<legend>
<h2>Contact information</h2>
<span class="steps">Step 1 of 3</span>
</legend>
<p>
<input type="text" id="firstname" name="first" value="" placeholder="First Name" required>
</p>
<p>
<input type="text" id="lastname" name="last" value="" placeholder="Last Name" required>
</p>
<p>
<input id="step1" type="button" value="Next" onclick="javascript: completeStep1();"/>
</p>
</fieldset>
</div>
<div id="fieldset2" style="display: none;">
<fieldset class="addingenq">
<legend>
<h2>Move information</h2>
<span class="steps">Step 2 of 3</span>
</legend>
<p>
<input type="text" id="originCity" placeholder="Origin City" required>
</p>
<p>
<input type="text" id="originCountry" placeholder="Origin Country" value="India" required>
</p>
<p>
<input type="number" id="originZip" placeholder="Origin Zip(Optional)">
</p>
<p>
<input type="text" id="destinationCity" placeholder="Destination City" required>
</p>
<p>
<input type="text" id="destinationCountry" value="India" placeholder="Destination Country" required>
</p>
<p>
<input type="number" id="destinationZip" placeholder="Destination Zip(Optional)">
</p>
<p>
Moving Date
<input type="date" id="movingDate" name="movingDate" required>
</p>
<p>
<input id="back_step1" type="button" value="Back" onclick="javascript: moveStep(2, 1);"/>
<input id="step2" type="button" value="Next" onclick="javascript: completeStep2();"/>
</p>
</fieldset>
</div>
<div id="fieldset3" style="display: none;">
<fieldset class="addingenq">
<legend>
<h2>Moving Requirements</h2>
<span class="steps">Step 3 of 3</span>
</legend>
<span class="form-subhead">Item List</span>
<p>
Packaging Material Rating
<input id="pmr" name="start" type="number" value="1" />
</p>
<p>
<input id="back_step2" type="button" value="Back" onclick="javascript: moveStep(3, 2);"/>
<input id="step3" type="button" value="Submit" onclick="javascript: completeStep3();"/>
</p>
</fieldset>
</div>
</form>
Вот правило проверки я использую
$("#enquiryForm").validate({
ignore : ":not(:visible)",
rules : {
originZip : {
required : false,
digits : true
},
destinationZip : {
required : false,
digits : true
}
}
});
Теперь проблема заключается в том, что на шаге 2 я вижу только происхождение города существо валидацию и ничего другого. Ни один элемент после подачи «originCity» не проверяется. Даже поля с требуемым тегом. Я что-то пропустил. Кто-то может помочь?
Я добавлю, что 'name' также должен быть _unique_, поскольку этот атрибут как плагин отслеживает входы. – Sparky
Спасибо тонну. Это сработало. –