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]

Reply via email to