vendredi 4 mars 2016

Why is the date not being validated in javascript

The below function is not validating if keeps skipping when it gets to the day else if statement I am trying to prevent the user entering a future date.

I have month and year working. However day is not working. Also user should be able to enter 4 March 2016 but not > 5 march 2016

  function fieldDateNotInFutureValidator(prefixPartDateInput){
    if(event.type == "submit") {
        console.log(event.type);

        var selectedDay = $("#proof_of_address_form\\:input-"+prefixPartDateInput+"-day").val();
        var selectedMonth = $("#proof_of_address_form\\:input-"+prefixPartDateInput+"-month").val();
        var selectedYear = $("#proof_of_address_form\\:input-"+prefixPartDateInput+"-years").val();
        var valid = false;

        var today = new Date();
        var currentDay = today.getDate().toString();
        var currentMonth = today.getMonth() + 1;
        var thisMonth = currentMonth.toString();
        var currentYear = today.getFullYear().toString();
        console.log(today,currentDay, thisMonth, currentYear);


        if (selectedYear < currentYear) {
            valid = true;
        } else if (selectedYear == currentYear && selectedMonth <= thisMonth) {
            valid = true;
        } else if (selectedDay > currentDay) {
            return false;
        }
        else {
            valid = false;
        }
        return valid;
    }
    return true;
}

Aucun commentaire:

Enregistrer un commentaire