Solved

date validation in coldfusion 7

Posted on 2009-07-08
4
404 Views
Last Modified: 2013-12-24
hi, i have tow dates, Start date and end date. if user selects start date as 07/01/09 and end date as 07/08/09, then it's valid. but right now my code doesn't validate if user enters start date as 07/15/09 and end date as 07/10/09. end date must have to be a future date (or grater then start Date). how can i validate this in coldfusion. all i need a server side validation. see the action script below, which enables user to select date from today to future. the script is fine, but i need server side validation for user, so that an end date must have to be grater then start date. please provide some code or references.
<cfoutput>		
			<cfformitem type="script">
	                function runOnLoad() 
	                {
	                        var dateString = "#dateFormat(now(), 'yyyy-mm-dd')#";
	                        var startAfter = mx.formatters.DateFormatter.parseDateString(dateString);
	                        start_date.selectableRange={rangeStart: startAfter};    
							end_date.selectableRange={rangeStart: startAfter}; 
	                }
	        </cfformitem>
		</cfoutput>

Open in new window

0
Comment
Question by:khan02
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 52

Expert Comment

by:_agx_
ID: 24806101
Do you mean CF code (server) or cfform actionscript (client)?

For server side, you can use the DateCompare() function to determine if the startDate is _greater_ than the endDate.

<!--- should also validate values are valid date strings --->
<cfset form.startDate = "07/15/2009" >
<cfset form.endDate = "07/10/2009">

<!--- if startDate is GREATER than endDate --->
<cfif dateCompare(form.startDate, form.endDate) eq 1>
      StartDate cannot be greater than EndDate
<cfelse>
       Okay. StartDate is less than or equal to EndDate
</cfif>
0
 

Author Comment

by:khan02
ID: 24808050
i am so grateful that you have replied so quick, i just realized that, i do need client side validation as well.

the above code you send is for server side validation. can you provide me code for client side validation as well.

regards
khan

thank you once again.
0
 
LVL 52

Accepted Solution

by:
_agx_ earned 500 total points
ID: 24809253
I assume you are using two "datefields"?  If so you can grab the "selectedDate" values.  The value is already a "Date" object. So you should be able to compare them using the  > operator.
<cfform name="x" format="flash" onLoad="runOnLoad()" onsubmit="return CheckDates();">
	<cfoutput>              
	<cfformitem type="script">
		function CheckDates() 
		{
			if (start_date.selectedDate != undefined && end_date.selectedDate != undefined) 
			{
				if (start_date.selectedDate > end_date.selectedDate) 
				{
					alert("StartDate cannot be GREATER than EndDate");
					return false;
				}
			}
			return true;
		}
		
    	function runOnLoad() 
        {
        	var dateString = "#dateFormat(now(), 'yyyy-mm-dd')#";
            var startAfter = mx.formatters.DateFormatter.parseDateString(dateString);
            start_date.selectableRange={rangeStart: startAfter};    
            end_date.selectableRange={rangeStart: startAfter}; 
            }
	</cfformitem>
    </cfoutput>
	<cfinput type="datefield" name="start_date">
	<cfinput type="datefield" name="end_date" value="2009-07-10">
	<cfinput type="submit" name="submitButton">
</cfform>

Open in new window

0
 

Author Closing Comment

by:khan02
ID: 31601225
grate solution...thank you very much
0

Featured Post

Plug and play, no additional software required!

The ATEN UE3310 USB3.1 Gen1 Extender Cable allows users to extend the distance between the computer and USB devices up to 10 m (33 ft). The UE3310 is a high-quality, cost-effective solution for professional environments such as hospitals, factories and business facilities.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hi, I will be creating today a basic tutorial on how we can create a Mail Custom Function and use it where ever we want. The main advantage about creating a custom function is that we can accommodate a range of arguments to pass to the Function and …
Introduction This article explores the design of a cache system that can improve the performance of a web site or web application.  The assumption is that the web site has many more “read” operations than “write” operations (this is commonly the ca…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…

626 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question