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