Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 990
  • 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
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
0
djfenom
Asked:
djfenom
1 Solution
 
ducketsCommented:

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

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

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