[Catalyst] Suggestions on how to handle 12 page form

Octavian Rasnita octavian.rasnita at ssifbroker.ro
Wed Nov 17 06:38:24 GMT 2010

From: "Hauck, William B." <William.Hauck at ibx.com>

I'm working on the project request section of our new project tracking 
system.  The request form is broken up into 12 pages-yes, lots and lots of 
data to be submitted.

Anyone have any experience / advice on how to handle that many fields? 
Should I use a single subroutine to handle it all based on a "page" 
variable?  Or, should I simply have a subroutine per page?  How about going 
back to correct something the user messed up during initial entry-we want to 
show a summary of the data before final submission.

Any help is appreciated.



Hi Bill,

I think the best approach is to create an action for each "page" of the form 
and after each form submission partially update one or more database tables, 
saving a marker that shows which was the last page completed.

And after each form submission, depending on some options chosen by the user 
you can redirect to the next form or to display a certain form which is 
displayed only in some conditions.

After the user submitted the first form, in which you may ask him/her for 
his/her email, you can automaticly send him/her an email with a link that 
can be used to access this "wizard" where he/her left it, maybe even from 
another computer.
This way, it is not a problem if the user's computer has frozen after he/she 
completed 99% of the wizard or he/she should continue only after a certain 

You can also put "previous links in every page that would display the 
previous filled form, pre-filled with the values this user already filled 
(which are taken from the database).

For creating the forms you can use a tool like HTML::FormFu or 
manually-created forms... it doesn't matter.


More information about the Catalyst mailing list