Ski Kacoroski wrote:
> Hi,
>
> Thanks to folks on this list (and C::A::P::LogDispatch) I got my
> application running last night. However, I am pretty sure that I did
> not end up with the best way of doing it and would like comments from
> the list on ways I could improve it. The pattern I am using are:
>
> sub cgiapp_prerun {
> my $self=shift;
> unless ($self->session->param('logged-in')) {
> $self->prerun_mode('start_form');
> }
> }
>
> sub some_form {
> <get $session and form params>
>
> unless ($form_param1 || $form_param2 ...) {
> <display the form the first time>
> }
>
> unless (form_logic(<form_params>, <session_params>) {
> return $self->error_page("some error message")
> }
I'd look into Data::FormValidator for that kinda validation. In
particular C::A::Plugin::ValidateRM is pretty handy.
> <save values in session if necessary>
>
> return $self->next_form();
> }
>
> The only time I really use the runmode on a page is to return from the
> error pages to the form page that called the error for a person to try
> again.
I usually split the display of a page and the processing of that page's
data into 2 separate run modes. Others keep them in the same one. I like
the first approach because the 2nd reminds me too much of PHP :)
--
Michael Peters
Developer
Plus Three, LP
---------------------------------------------------------------------
Web Archive: http://www.mail-archive.com/[email protected]/
http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]