An HTML form requires users to select the year, month and date in separate dropdown fields without using a date picker. The developer needs to ensure that the values selected by the users form a valid date. For instance, an input like 2 (Month), 30 (Date) should be rejected.
function isValidDate() {
var day = Number(document.getElementById('day').value),
month = Number(document.getElementById('month').value),
year = Number(document.getElementById('year').value);
var date = new Date();
date.setFullYear(year, month - 1, day);
// month - 1 since the month index is 0-based (0 = January)
if (date.getFullYear() == year && date.getMonth() == month + 1 && date.getDate() == day) return true;
return false;
}