Date Validation - Can't enter date in the past

Hi, I'm trying to validate my date field so that if a user puts a date in the past, an alert pops up. I'm currently using this script:

var now = new Date().getTime();
var generatedDate = Date.parse(form1.seminarsDate.value); // assuming a valid date format mm/dd/yyyy
if(document.form1.seminarsDate.value==""){
      alert("Please enter a Date");
      document.form1.seminarsDate.focus();
return false;
}
else if (now>generatedDate) {
      alert('Please enter a date that is not in the past!');
      form1.seminarsDate.focus();
return false;
}
return true

This works great, but the only problem is I need it for the UK, i.e. using DD/MM/YYYY and not MM/DD/YYYY as this script uses.

Any ideas?

Many thanks

Chris
djfenomAsked:
Who is Participating?
 
ducketsConnect With a Mentor Commented:

Try replacing your second line of code with the following lines attached below. They break apart the string (using the slash symbol as the delimiter), and create a new date object based on the assumed DD/MM/YYYY order of the elements. Note the 'month' has a -1 appended to it, because when creating a date object, months are specified in the range 0-11!


// assumes an input in the UK format: DD/MM/YYY
dateElements = form1.seminarsDate.value.split("/");
var generatedDate = new Date(dateElements [2],dateElements [1]-1,dateElements [0]); 

Open in new window

0
 
djfenomAuthor Commented:
Excellent, knew it would be simple!

Thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.