У меня есть форма, и я хотел бы поделиться скриншотом формы, чтобы объяснить этот вопрос лучше: - Jquery форма проверки, где массив ввод текста, должен быть проверена на основе массива входного флажка
В форме есть пять смайлов, каждый из которых имеет один флажок и один входной текст. Ид, если вы выберете конкретный смайлик (установив флажок), то местоположение изображения будет сохранено в базе данных вместе с текстом, который вы помещаете в текстовое поле.
смайлик (вместе с флажком и текстового поля перечислены в HTML, как это: -
<div id="smiley_container">
<?php for($i=1;$i<=5;$i++)
{ ?>
<div class="form-group col-sm-12">
<label class="col-sm-2">Smiley <?php echo $i;?><span class="required_span">*</span>
</label>
<div class="col-sm-1">
<img src="<?php echo base_url();?>uploads/smiley/<?php echo $i;?>.png" style="width:40px;"/>
</div>
<div class="col-sm-1">
<input type="checkbox" name="smileycheck[]" id="smileycheck_<?php echo $i;?>" value="<?php echo $i;?>" />
</div>
<div class="col-sm-7">
<input type="text" class="form-control" placeholder="Set name for the smiley" name="smileyname[]" id="smileyname_<?php echo $i;?>" />
</div>
</div>
<?php } ?>
</div>
Теперь у меня был код подтверждения, как this-
$(function() {
// Initialize form validation on the registration form.
// It has the name attribute "registration"
$("form[name='myQstnForm']").validate({
// Specify validation rules
rules: {
// The key name on the left side is the name attribute
// of an input field. Validation rules are defined
// on the right side
desc: "required",
type: "required",
"option[]": "required",
"smileyname[]": "required",
},
// Specify validation error messages
messages: {
desc: "Please provide question text",
type: "Please select question type",
"option[]": "Please provide data",
"smileyname[]": "Please provide data",
},
// Make sure the form is submitted to the destination defined
// in the "action" attribute of the form when valid
submitHandler: function(form) {
form.submit();
}
});
});
Nowever, тем выше JQuery код хочет, чтобы все тексты параметров были заполнены. На самом деле, только те тексты должны быть необходимы для заполнения, чей флажок исправлен.
Как решить эту проблему ?
JQuery Validate не работает так. Вы не можете поместить 'smileyname []' в качестве имени поля и ожидать, что он проверит весь массив полей. «Имя» может соответствовать только * одному * полю. – Sparky
используйте этот флажок как общее название –