pfam month and day multiple
by godhong
HTML
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>
<form id="myform">
<table>
<tr>
<td>MM1</td>
<td>
<input type="text" name="mm1" />
</td>
<td>DD1</td>
<td>
<input type="text" name="dd1" />
</td>
</tr>
<tr>
<td>MM2</td>
<td>
<input type="text" name="mm2" />
</td>
<td>DD2</td>
<td>
<input type="text" name="dd2" />
</td>
</tr>
</table>
<br>
<tr>
<input type="submit" />
</tr>
</form>
JavaScript
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
submitHandler: function (form) {
alert('valid form submitted');
return false;
}
});
$('input[name*="mm"]').each(function () {
$(this).rules('add', {
required: true,
monthCheck: true
});
});
$('[name*="dd"]').each(function () {
$(this).rules('add', {
required: true,
dayCheck: true
});
});
function mmCheck(value) {
var mmValue = value;
if (mmValue < 1 || mmValue > 12) return false;
return true;
}
function ddCheck(value, element) {
var mmValue = $(element).closest("tr").find('input').val();
var ddValue = value;
if (ddValue < 1 || ddValue > 31) return false;
else if (mmValue == 2 && ddValue > 29) return false;
else if ((mmValue == 4 || mmValue == 6 || mmValue == 9 || mmValue == 11) && ddValue > 30) return false;
return true;
}
$.validator.addMethod(
"monthCheck",
function (value) {
return mmCheck(value);
},
"Please enter a right month");
$.validator.addMethod(
"dayCheck",
function (value, element) {
return ddCheck(value, element);
},
"Please enter a right day");
});