Could you pass in the Form.cfm url along with the form, hidden fields 
maybe. Then if the data is valid go to a function that calls Data.cfc or 
if the data is invalid then it goes to a function that returns the form 
fields back to Form.cfm using the url parameter.

Just a thought.

I have been mulling the idea of using cfc's in a similar method.

Doug

Ian Skinner wrote:

>I am stumped here.
>
>I am trying to learn how to utilize the full power of CFC's in a better 
>practice way (working my way towards best practices).  I am building an 
>administrative application.  I have put the queries into a data CFC, my 
>business logic into its own CFC, and thus leaving the display code in its own 
>CFM file.
>
>This has been working well so far, but I have found my self in a dark alley 
>and I can not see how to code myself out of it.  I'm looking for some basic 
>strategy suggestions on how to build this in a more OO/multi-tier and less 
>procedural way.
>
>The path I have followed so far is something like this:
>
>Form.cfm 
>This is just what it says, a file that contains a form.
>
>App.cfc 
>This file is a middleman CFC that the form submits to using the following 
>structure.  My current thinking is that this file is doing the validation and 
>verification of the data submitted from the form according to the business 
>needs.
><form action="app.cfc"...>
>       <input type="hidden" name="method" value="formMethod">
>       ...
></form>
>
>Data.cfc
>This is the CFC that the App.cfc utilizes to actually get the data from the 
>form into the database.  It contains the database logic and SQL statements.
>
>The trouble I am experiencing is that the logic in the app.cfc has two exits.  
>First of all, my understanding of best practices makes me feel that this may 
>be a bad result of itself, but I do not see a way to rearrange the pieces of 
>my code to eliminate this.  Secondly, even if I accept the two exits from the 
>App.cfc method, I can't figure a way to actually make it work.
>
>The problem is that the formMethod() function is checking the data from the 
>form, if the data is valid; it calls the appropriate method of the data.cfc to 
>get the data into the database.  But what do I do when the data is invalid?  
>The program flow needs to somehow get back to the form with information about 
>why the data is invalid, so that the user can be prompted to correct the 
>errors.
>
>Since the form has been submitted to the App.cfc that is where the logic 
>"pointer" is currently located.  In other words, if I don't do anything to 
>relocate and just finish processing, the URL of the browser will be such as 
>"http://aWebSite/app.cfc";.   So how can I get the location and the error data 
>back to the form.cfm file?  
>
>I tried to store the error data in the session scope to persist it and then us 
>a <cflocation...>, but that does not seem to work.  When I dump the session 
>scope in the form file, it is unaware of any of the values set in the app.cfc 
>code.  I think I have run into this problem before.  It seems that if one 
>submits forms to cfc methods for processing, this cfc has a separate world of 
>persistent variables.  I can set and output values in application or session 
>scope in the cfc, but not from files that come after the cfc.
>
>So can somebody guide me to a better way to organize my logic so that I do not 
>have the two exits currently required from the app.cfc formMethod() function?  
>Or at least help me figure out how to get the data from this method back to 
>the originating form?
>
>Thank you much.
>
>--------------
>Ian Skinner
>Web Programmer
>BloodSource
>www.BloodSource.org
>Sacramento, CA
>
>"C code. C code run. Run code run. Please!"
>- Cynthia Dunning
>
>Confidentiality Notice:  This message including any
>attachments is for the sole use of the intended
>recipient(s) and may contain confidential and privileged
>information. Any unauthorized review, use, disclosure or
>distribution is prohibited. If you are not the
>intended recipient, please contact the sender and
>delete any copies of this message. 
>
>
>
>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net
http://www.cfhosting.net

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:184628
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to