Les... Was this info helpful to you in solving your problems with clients who don't have JS turned on?
Rick -----Original Message----- From: Rick Faircloth [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 18, 2007 10:46 PM To: CF-Talk Subject: RE: Client-side validation or Server-side Validation? It's a very good method, Les... although I can't take credit for it. It was passed on to me a long time ago. No client-side validation at all. Here's a code sample involving two form fields, First_Name & Last_Name. The page, Name_Form.cfm contains the validation code, error messages display, form and inputs. Page: Name_Form.cfm <HTML> <HEAD> </HEAD> <BODY> <!--- Section 1 / Creates Struct to hold form errors and clears the struct every time the page is refreshed ---> <CFSET Form_Errors = StructNew()> <!--- Create the Struct, "Form_Errors", to hold error messages if they are created during validation ---> <CFSET Temp = StructClear(Form_Errors)> <!--- Clears the Struct, "Form_Errors", each time the form is submitted so no error messages exist ---> <!--- Section 2 / Checks to make sure form has been submitted back to this page and, if so, runs validation on form data ---> <CFIF IsDefined("Form.First_Name")> <!--- This makes sure that the form has been submitted. If it hasn't the validation code won't be run. ---> <CFIF Not Len(Trim(Form.First_Name))> <!--- Checks to see if the First_Name field is empty ---> <CFSET Form_Errors.First_Name = "Please enter your first name."> <!--- Creates error message for First_Name field ---> </CFIF> <CFIF Not Len(Trim(Form.Last_Name))> <!--- Checks to see if the Last_Name field is empty ---> <CFSET Form_Errors.Last_Name = "Please enter your last Name."> <!--- Creates error message for Last_Name field ---> </CFIF> </CFIF> <!--- Section 3 / Checks to make sure form has been submitted and, if so, then checks to make sure there are no error messages in the struct and, if not, proceeds with data processing. After data processing, sends user to success page. ---> <CFIF IsDefined("Form.First_Name")> <!---Again, this checks to see if the form has been submitted. If not "Form.First_Name won't exist. ---> <CFIF StructIsEmpty(Form_Errors)> <!--- Checks to see if the Struct hold the form errors is empty. If it is, there were no errors. ---> <!--- Since the form has been submitted and there are no errors in the data, processing takes place here... sending email, queries, etc. ---> <CFLOCATION URL = "Form_Submission_Success.cfm" AddToken="No"> <!--- Once the data from the form is processed, the user is sent to a success page. ---> </CFIF> </CFIF> <!--- Section 4 / Displays notice of errors in form, error messages, field names, and form inputs ---> <CFIF Not StructIsEmpty(Form_Errors)> <!--- Checks to see if Struct does contain error messages ---> "I'm sorry, but there are problems with your required entries. Please check your entries, make necessary corrections, and re-submit." <!--- The message above is sent to the user to let them know there are form errors. I put this message above the form, since some of the errors may be below the visual area on the screen. ---> </CFIF> <!---- This next section outputs any form_error struct messages above the form name and input field ---> <CFIF IsDefined("Form_Errors.First_Name") and Len(Trim(Form_Errors.First_Name))> <!--- Makes sure struct key exists and the error message has length. ---> <FORM Name="Form_Validation" Action="Name_Form.cfm" Method="Post"> <TABLE> <TR> <TD> <CFOUTPUT>#Form_Errors.First_Name#</CFOUTPUT> </TD> </TR> </CFIF> <TR> <TD> First Name (required) </TD> </TR> <TR> <TD> <CFIF IsDefined("Form.First_Name")> <INPUT Name="First_Name" Type="Text" Value="<CFOUTPUT>#Form.First_Name#</CFOUTPUT>" Size="40"> <CFELSE> <INPUT Name="First_Name" Type="Text" Value="" Size="40"> </CFIF> </TD> </TR> <CFIF IsDefined("Form_Errors.Last_Name") and Len(Trim(Form_Errors.Last_Name))> <!--- Makes sure struct key exists and the error message has length. ---> <TR> <TD> <CFOUTPUT>#Form_Errors.First_Name#</CFOUTPUT> </TD> </TR> <TR> <TD> Last Name (required) </TD> </TR> <TR> <TD> <CFIF IsDefined("Form.Last_Name")> <INPUT Name="Last_Name" Type="Text" Value="<CFOUTPUT>#Form.Last_Name#</CFOUTPUT>" Size="40"> <CFELSE> <INPUT Name="Last_Name" Type="Text" Value="" Size="40"> </CFIF> </TD> </TR> <TR> <TD> <INPUT Type="Submit" Name="Name_Form_Submit" Value="Submit"> </TD> </TR> </TABLE> </FORM> </BODY> </HTML> Page: Form_Submission_Success.cfm <HTML> <HEAD> </HEAD> <BODY> The Name Form has been successfully submitted! </BODY> </HTML> And that's a basic layout of the code... I've attached the two pages involved. You can run them on a server and study them or you can view them at work at http://bodaford.whitestonemedia.com/html/Name_Form.cfm Let me know if this helps or what doesn't make sense... Rick -----Original Message----- From: Les Mizzell [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 18, 2007 5:48 PM To: CF-Talk Subject: Re: Client-side validation or Server-side Validation? What you're doing below sounds exactly like what I need for some specific forms that seem to have lot of business users with no JS. I haven't completely wrapped my head around what you're doing though. Is there a good reference for your method somewhere on the web I can study, or do you mind going a little deeper into detail? Thanks, LGM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJQ Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:275923 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

