anyone can help me....how to validate javascript date for this problem:
user select the start date and end date will be chosen to be more than 90 day from the start date.user can send form if end date below 90day...
from date code :
<input name="fromDate" type="text" id="fromDate" size="10" maxlength="10" onChange="">
<a href="#" name="anchorFrmDate" id="anchorFrmDate" onClick="calFrmDate.select(document.forms[0].fromDate,anchorFrmDate,'dd/MM/yyyy'); return false;">DATE</a>
to date code:
<input name="Todate" type="text" id="Todate" size="10" maxlength="10" onChange="">
a href="#" onClick="calToDte.select(document.forms[0].Todate,'anchorToDte','dd/MM/yyyy'); return false;" name="'anchorToDte'" id="'anchorToDte'"><strong>DATE</strong></a>
I've tried and my code below ... but do not succeed ... which part that i make Mistake
function checkDateRange(fromDate, Todate) {
// Parse the entries
var startDate = Date.parse(fromDate);
var endDate = Date.parse(Todate);
// Make sure they are valid
if (isNaN(startDate)) {
alert("The start date provided is not valid, please enter a valid date.");
return false;
}
if (isNaN(endDate)) {开发者_JAVA技巧
alert("The end date provided is not valid, please enter a valid date.");
return false;
}
// Check the date range, 86400000 is the number of milliseconds in one day
var difference = (endDate - startDate) / (7776000000);
if (difference < 0) {
alert("The start date must come before the end date.");
return false;
}
if (difference <= 1) {
alert("The range must be at least seven days apart.");
return false;
}
return true;
}
Here is a rough sketch:
var startDateText = ...
var NINETY_DAYS = 1000 * 3600 * 24 * 90;
var startDate = new Date(startDateText);
var maxEndDate = startDate.getTime() + NINETY_DAYS;
..
var endDateText = ...
var endDate = new Date(endDateText);
if (endDate.getTime() > maxEndDate) {
Window.alert("Too late");
}
精彩评论