Solved

date validation in coldfusion 7

Posted on 2009-07-08
4
396 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
  • 2
  • 2
4 Comments
 
LVL 52

Expert Comment

by:_agx_
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
grate solution...thank you very much
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

Sometimes databases have MILLIONS of records and we need a way to quickly query that table to return the results me need. Sure you could use CFQUERY but it takes too long when there are millions of records. That is why SOLR was invented. Please …
Recently while working on a project I got a very annoying cfdocument has no body error message. I had never seen this error before. So I checked the code. The code was pretty simple; it was Just showing me the cfdocumnt tag and inside that tag a …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

771 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now