Hi friends,
Below is the code that dose date validation. To be specific, this javascript can be used for comparing two dates (eg., to validate for a case where Start date should be before the End date).
if (Date.parse(fromDate) > Date.parse(toDate)) {
alert("Invalid Date Range!\nStart Date cannot be after End Date!")
return false;
}
So how to test this code??
Answer: Have two textboxs in your page and ask the user to entire two dates (Start date and End date). If the start date is after the end date, this code would thrown an alert.
You can get the file from here which has code that performs a simple eg., |
Hope this helps you.
Love MJ 🙂
u’r sample code will not working properly,test it once
I gave 12-08-2010 in the start date and 12-08-2009 in the end date and I got a alert saying ‘Invalid date’.
So, It working buddy ;).
Can you please tell me the reaon for your comment? I’ll try to answer your question.
Freddie
Hi,
When i put your code in my javascript function Date.parse method gives me “NaN”.
Could you tell me just other method which has javascript support ?
CodVenture
Hello CodVenture, Please give me a explanation on what exactly you are looking for so that I may try to solve your issue.
This code accepts only numerics. Probabily you would have used ‘mar’ for march which should be 03
If you still find this as an issue please give me your exact scenario so that i can help you to modify the code accordingly
Freddie
Try this ….
var startDateValue = new Date(startDateVal);
var startDateValuecmp = startDateValue.getTime();
var endDateValue = new Date(endDateVal);
var endDateValuecmp = endDateValue.getTime();
if( startDateValuecmp > endDateValuecmp ){
alert(“End Date cannot be less than Start Date”);
}
Regards Nitil
This code is completely wrong because with this code , place StartDate as “22/07/2011” and EndDate as “21/06/2011” and you do not get any alert from javascript.
Try 22-07-2011 and 21-06-2011
this works perfectly fine for the above date given
not working
The code from Freddie is working fine on IE 7 and IE 8. But it does not work on Firefox 3.6.4. Can anyone explain why it is going on?
i want that future date should not select when we select the future date and print the error message that sorry you can not select the future date. Please tell me that how can i solve this problem.
Anonymous:
Solution for u r problem
$.validator.addMethod(“DateFormat”, function(value,element) {
var validDateFormat= value.match(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/);
if(validDateFormat){
if(Date.parse(value)<= Date.parse(todayDate())){
return true;
}
}
return false;
},
Your validation is not working properly.
Suppose we have 03-01-2012 as start date and 02-02-2012 as end date… the function will alert ‘invalid range’ as the end date will be less when passing through the Date.parse function.02-02-2012 is in the future. any solution man??
thank you
Any source code blocks look like this
//
t1=”10/10/2006″ ;
t2=”15/10/2006″;
//Total time for one day
var one_day=1000*60*60*24;
//Here we need to split the inputed dates to convert them into standard format
for furter execution
var x=t1.split(“/”);
var y=t2.split(“/”);
//date format(Fullyear,month,date)
var date1=new Date(x[2],(x[1]-1),x[0]);
var date2=new Date(y[2],(y[1]-1),y[0])
var month1=x[1]-1;
var month2=y[1]-1;
//Calculate difference between the two dates, and convert to days
_Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day));
//_Diff gives the diffrence between the two dates.
How to Implement this code into the webpage…?
very useful one..
thank you so much that code very helpfull to me once again thank you
can give the complete coding
this script not working for feburary month it allows 30,31 date as well allow date 31 for even months like april ,
june
The operator > is undefined for the argument type(s) Date, Date is displayed
its work fine form me tq…. simple code … good
function nofuturdate(testdate)
{
//alert(“s”);
var todaydate=new Date();
var userenterdate=testdate.value;
var todayday=todaydate.getDate();
var curmonth=todaydate.getMonth()+1;
var curyer=todaydate.getFullYear();
var todcompletedate=todayday+”/”+ curmonth+”/”+curyer;
alert(todcompletedate);
var check=todcompletedate.localeCompare(userenterdate);
alert(userenterdate);
if(check>=0)
alert(“Past Date”);
else
alert(“Future Date”);
}
//// i want a function that accept only DDMMYYYY format and not allowed future date to entered , Please anyone help me
how to work this code