This is how I have been handling server side form validation in FB3:
in  FBX_switch.cfm
<cfcase value="submit"><!---- submit the form ---->
                <cfset error =0>
                <cfset errorlist = "">
                <cfinclude template="act_submitform.cfm">       <!--- returns error if 
form
submittal has failed --->
                <cfif error>
                <cfset XFA.submit = "home.submit">
                <cfinclude template="dsp_form.cfm">
                </cfif>
        </cfcase>

Then in act_submitform.cfm:
<!--- form validation code here --->
<cfscript>
//validate the email address
if (not isEmail(trim(form.email))){
  error = 1;
  errorList = listAppend(errorList,"email");
}
// more validation code
</cfscript>

<cfif not error>

 <!--- process the form submittal --->

</cfif>


dsp_form.cfm is the original form. In this fuse, I do this at the top:
<cfif isdefined("errorlist")>
<p><b>There were some problems with your form submittal:</b></p>
<cfif ListFindNoCase(errorlist, "email")>
<p><font color="Red">Please enter a valid email address</font></p>
</cfif>
</cfif>
I  cfparam the form fields in the top of the fuse and then pass set the
value of each field to "#form.fieldname#" and then use a cfif statement to
check the error list. If errorlist is defined and the name of the field is
in the error list I change the back ground color of the table cell
containing the error, or flag the field in question somehow.

Hope this helps.
Joel

-----Original Message-----
From: Jeremy Ridout [mailto:[EMAIL PROTECTED]]
Sent: Monday, April 01, 2002 3:35 PM
To: '[EMAIL PROTECTED]'
Subject: server side form validation??


I'm writing my very first FB3 app, a shopping cart, and I'm working on the
checkout forms. There are 4 stages that our customers must go through in
order to checkout. Each of these phases, a customer must make several form
inputs.

My question is, what does the FB3 spec say about performing server side
validation?

I first thought about a separate fuse for validation and depending on the
pass/fail result from the validator template, I would cflocate to the
appropriate XFA. I quickly remembered why I don't like to cflocate for
anything--I lost my form inputs no matter which direction I needed to go.

The only obvious solution that I can see is a separate cfif at resides above
the circuit switch (still within fbx_switch) that first looks to see if it
should attempt to validate, and if so, depending on the result, modify the
fuseaction to direct to request to the appropriate fuse... no cflocation
necessary.

It works very will and is only 3 lines of code. But, it sure doesn't feel
like this solution is in the spirit of FuseBox.

BTW, sorry if this topic has been beaten to death in the past, I tried to
search the topica archives but it wasn't very useful.

Thanks in advance,
Jeremy

==^================================================================
This email was sent to: [email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrFMa.bV0Kx9
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^================================================================


Reply via email to