Mark,

I use both, but only HTML::FillInForm in legacy code before I started using C::A exclusively.

I've had no issues with either.

I do a ton of online forms where I untaint and validate the data and use CAP::FillInForm to repopulate the form if I need to re-output the form do to a validation error.

So:

($sql{'link'}, $error) = $self->val_text( 0, 128, $self->query- >param('link') ); if ( $error-> { msg } ) { $self->push_error("Link $error- >{ msg }"); }

#where val_text is my validation method and the %sql is used later to populate a notification email or database record
#if there is an error:

foreach (keys %sql ) { $fif->{$_} = $self->query->param($_); }

$template->param( errors => $self->get_error_list() ); #get the errors pushed into an array

return $self->fill_form( \$template->output, $fif );


I suppose I could nix the Plugin, but not sure why, at this point.

Brad


On Mar 25, 2009, at 8:32 PM, Mark Stosberg wrote:


I'm wondering if it's time to quit recommending the FillInForm plugin.
The way I see it, it has about 3 features, all now of questionable value:

1. It provides a more convenient syntax than HTML::FillInForm 1.x did. These
deficiences were fixed in HTML::FillInForm 2.0.

2. It defaults the data source to $self->query.
I don't find that exceptionally useful. It could even be considered an security risk to be passing data unchecked from the query on to a new HTML page. Using a trusted data source like a Data::FormValidator result or a database row is
usually a better option.

3. It automatically ignores the 'rm' field for you, by taking it as the value
of mode_param(). That's a nice bit of integration, but it seems that
mode_param() can work several different ways, and it won't always return the name of a query parameter that holds the name of the run mode call. This
feature also adds no value in the context of dispatching.

What I'm finding is that now that HTML::FillInForm 2.x is out, I just use that
directly instead. The syntax is now clear and easy:

HTML::FillInForm->fill($html,$data);

That ease-of-use completes really well with what the plugin offers:

$self->fill_form($html,$data);

By eliminating the plugin layer, there's less code, documentation and just
complexity involved in what's happening.

I'd like to hear from other users: Do use the FillInForm plugin, or do you use
HTML::FillInForm directly now?

   Mark


--
http://mark.stosberg.com/




#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################



#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to