У меня есть форма, которая проверяется с помощью Jquery Validate. Форма содержит 2 флажка с тем же именем, из которых по крайней мере один должен быть выбран. Для этого я использую.validate() в имени флажков вместе с правилом: required ".
Хотя я могу успешно выполнить проверку (например, сообщения об ошибках появляются, когда не выбраны флажки), сообщения об ошибках отображаются после первого флажка, что нарушает мое форматирование.
В настоящее время я использую errorElement и errorPlacement, чтобы сообщения об ошибках отображались в паре тегов span после каждого элемента ввода, но, похоже, это не относится к флажкам.
HTML (выдержка):
<form id='BizAddItem' name='BizAddItem' method='post' action='additemprocess.php' enctype='multipart/form-data' novalidate='novalidate'>
//More input elements above
<div class='BizAddItemDetails'>
<label for='BizFulfilment'>Order Fulfilment:</label>
<input type='checkbox' id='BizFulfilment' name='BizFulfilment[]'>Delivery  
<input type='checkbox' id='BizFulfilment' name='BizFulfilment[]'>In-Store Pickup
<span></span>
</div>
//More input elements below
</form>
Код jQuery (Extract):
$('#BizAddItem').validate({
errorElement:"span",
errorPlacement:function(error,element){
error.insertAfter(element);
},
rules:{
//More items above
'BizFulfilment[]':{
required:true
},
},
messages:{
//More items above
'BizFulfilment[]':{
required:"Please select at least one option"
},
},
submitHandler:function(form){
form.submit();
}
})
Любая помощь, оказанная, будет оценена по достоинству. Благодарю!
Попробуй это....
errorPlacement:function(error, element)
{
if($(element).attr("name")=="BizFulfilment[]")
{
$(element).parent().append(error);
}else
{
$(error).insertAfter(element);
}
},