how to fix the validation for date

- 1 answer

Ad

what's wrong with the validation?

i got this code here, but something went wrong?

if i select a date more than a year the will show the alert message, but it should not have an alert message?

here is the code for the validation

function validateForm() {
    var x = document.forms["date"]["reserve"].value;
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth() + 1; //January is 0!
    var yyyy = today.getFullYear();

    if (dd < 10) {
        dd = '0' + dd
    }

    if (mm < 10) {
        mm = '0' + mm
    }

    today = mm + '/' + dd + '/' + yyyy;

    if (x <= today) {
        alert("Please select a higher date!");
        return false;
    }
}

PLEASE HELP!

Ad

Answer

Ad

You are comparing string with a string

Try like this

var userDate=new Date(x);
var currDate=new Date()
if (+userDate <= +currDate ){ // + will convert date into miliseconds
    alert("Please select a higher date!");
    return false;
}
Ad
source: stackoverflow.com
Ad