Custom date validation
jQuery
by Sparrow Squire
HTML
<select id="day">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="month">
<option value="01|2017">Jan</option>
<option value="02|2017">Feb</option>
<option value="04|2017">Apr</option>
<option value="07|2017">Jul</option>
<option value="08|2017">Aug</option>
</select>
JavaScript
function isValidDate(s) {
var dateBit = s.split('|');
var d = new Date(dateBit[2] + '/' + dateBit[1] + '/' + dateBit[0]);
return !!(d && (d.getMonth() + 1) == dateBit[1] && d.getDate() == Number(dateBit[0]));
}
$(document).ready(function() {
$('#day, #month').change(function() {
var newDate = $('#day option:selected').val() + '|' + $('#month option:selected').val();
isValidDate(newDate);
if (isValidDate(newDate) == false) {
alert('Display invalid error message')
}
});
});