I need to validate date of birth by using jquery validator with three separate textbox for day month and year.
How to do this please help.
HTML code
var compareDate, checkDates = false;
var validateObject = {
init: function(year, month, day) {
return this.compareDate.init(year, month, day);
},
compareDate: {
init: function(year, month, day) {
var isValid = false;
// Compensate for zero based index, if month was not
// subtracted from one 0 === Jan, 1 === Feb, 2 === Mar
month -= 1;
// Create a new date object with the selected
// year, month, and day values and retrieve the
// milliseconds from it.
var mSeconds = (new Date(year, month, day)).getTime();
var objDate = new Date();
// Set the time of the object to the milliseconds
// retrieved from the original date. This will
// convert it to a valid date.
objDate.setTime(mSeconds);
// Compare if the date has changed, if it has then
// the date is not valid
if (objDate.getFullYear() === year&&
objDate.getMonth() === month &&
objDate.getDate() === day)
{
if(objDate <= new Date())
{
isValid = true;
}
}
return isValid;
}
}
};
$(function() {
var validateButton = $('#btValidate');
validateButton.click(function(e) {
var month = parseInt(document.getElementById('month').value, 0),
day = parseInt(document.getElementById('day').value, 0),
year = parseInt(document.getElementById('year').value, 0),
alertBox = $('#alert'),
isValid = false;
isValid = validateObject.init(year, month, day);
var color, message;
if (isValid === true)
{
color = "#008000";
message = "Your date is valid!";
}
else if (isValid === false)
{
color = "#F00";
message = "Your date is not valid!";
}
alertBox.css('background', "" + color)
.html(""+ message +"
")
.stop()
.animate({
width: "200px",
paddingLeft: "75px"
}, 1750, "easeOutBounce", function() {
$(this).animate({
width: "0px",
paddingLeft: "0px"
}, 1000, "easeInBounce");
});
});
});
Working code here: http://jsfiddle.net/vmHjN/140/