I have a table structured inputs array (like registrant,firstname, phone, email) like below html.
$('#register_form').validate({
rules: {
'firstname[]': {
required: true,
},
'phone[]': {
required: true,
},
'email[]': {
required: true,
},
event: {
required: true,
},
},
messages: {
'firstname[]': {
required: "Please enter registrant name",
},
'phone[]': {
required: "Please enter registrant phone",
},
'email[]': {
required: "Please enter registrant email",
},
event: {
required: "Please check atleast one event",
},
},
errorPlacement: function(error, element) {
error.appendTo( element.closest("div") );
},
});
.registrant_table{width: 100%;border: 1px solid #ccc;text-align: center;}
.registrant_table tr td{border: 1px solid #ccc;height: 42px;font-weight: bolder;}
.registrant_table input{border: 0px !important;width: 100%;height: 42px;text-align: center;font-weight: normal;}
label.error{color: red !important;}
<form method="post" action="" name="register_form" id="register_form">
<div>
<table class="registrant_table">
<tr>
<td>No</td>
<td>Official Full Name</td>
<td>Mobile Contact</td>
<td>Email</td>
</tr>
<tr>
<td>1</td>
<td><input type="text" name="firstname[]"></td>
<td><input type="text" name="phone[]"></td>
<td><input type="text" name="email[]"></td>
</tr>
<tr>
<td>2</td>
<td><input type="text" name="firstname[]"></td>
<td><input type="text" name="phone[]"></td>
<td><input type="text" name="email[]"></td>
</tr>
<tr>
<td>3</td>
<td><input type="text" name="firstname[]"></td>
<td><input type="text" name="phone[]"></td>
<td><input type="text" name="email[]"></td>
</tr>
<tr>
<td>4</td>
<td><input type="text" name="firstname[]"></td>
<td><input type="text" name="phone[]"></td>
<td><input type="text" name="email[]"></td>
</tr>
<tr>
<td>5</td>
<td><input type="text" name="firstname[]"></td>
<td><input type="text" name="phone[]"></td>
<td><input type="text" name="email[]"></td>
</tr>
</table>
</div>
<br>
<div class="col-md-4 col-sm-6 col-xs-12">
<label>Please tick the event you are joining:</label><br>
</div>
<div class="col-md-8 col-sm-6 col-xs-12 checkbox_container">
<input type="checkbox" name="event" value="26-27 April 2018, Royale Chulan Damansara, Malaysia"> 26-27 April 2018, Royale Chulan Damansara, Malaysia<br>
<input type="checkbox" name="event" value="3-4 May 2018, Grand Hyatt, Singapore"> 3-4 May 2018, Grand Hyatt, Singapore<br>
<input type="checkbox" name="event" value="Royal Plaza Hotel, Mongkok, Hong Kong"> Royal Plaza Hotel, Mongkok, Hong Kong<br>
<input type="checkbox" name="event" value="Grand Hyatt, Menteng, Jakarta, Indonesia"> Grand Hyatt, Menteng, Jakarta, Indonesia<br>
</div>
<p> </p>
<p style="text-align: center;"><input type="submit" value="submit" name="submit"></p>
</form>
I have added my code fiddle here
It's working fine for one registrant. Not working more than one same inputs.
My Questions are :
Case 1:
How to validate at least one registrant's all inputs (name, phone, email) filled or not?
Case 2 :
If one registrant filled all three inputs. Then I fill the second registrant's name (or phone or email) only. Then click submit.
How to show the second registrant's phone and email's error message ?
If user not register second registrants name or phone or email. Don't need to validate that row. (It's same for other registrant like 3,4,5 also).
I need both cases to be satisfied.