how to validate Date of birth with three textbox of date month year by jquery validator

后端 未结 4 1924
情深已故
情深已故 2021-01-16 08:36

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

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-16 09:06

    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/

提交回复
热议问题