• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 991
  • Last Modified:

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
      alert("Please enter a Date");
return false;
else if (now>generatedDate) {
      alert('Please enter a date that is not in the past!');
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

1 Solution

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

djfenomAuthor Commented:
Excellent, knew it would be simple!

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.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now