NAME
Catalyst::Model::FormFu - Speedier interface to HTML::FormFu for
Catalyst
VERSION
version 0.001
SYNOPSIS
package MyApp
{
use parent 'Catalyst';
__PACKAGE__->config( 'Model::FormFu' => {
model_stash => { schema => 'MySchema' },
constructor => { config_file_path => 'myapp/root/forms' },
forms => {
form1 => 'form1.yaml',
form2 => 'form2.yaml',
]
} );
}
package MyApp::Controller::WithForms
{
use parent 'Catalyst::Controller';
sub edit :Local
{
my ($self, $c, @args) = @_;
my $form1 = $c->model('FormFu')->form('form1');
if ($form1->submitted_and_valid)
...
}
}
package MyApp::Model::FormFu
{
use parent 'Catalyst::Model::FormFu';
}
DESCRIPTION
"Catalyst::Model::FormFu" is an alternative interface for using
HTML::FormFu within Catalyst. It differs from
Catalyst::Controller::HTML::FormFu in the following ways:
* It initializes all required form objects when your app is started,
and returns clones of these objects in your actions. This avoids
having to call "load_config_file" in HTML::FormFu and "populate" in
HTML::FormFu every time you display a form, potentially leading to
performance improvements in persistent applications.
* It does not inherit from Catalyst::Controller, and so is safe to use
with other modules that do so, in particular
Catalyst::Controller::ActionRole.
CONFIGURATION OPTIONS
"Catalyst::Model::FormFu" accepts the following configuration options
forms
A hashref where keys are the names by which the forms will be
accessed, and the values are the configuration files that will be
loaded for the respective forms.
constructor
A hashref of options that will be passed to "HTML::FormFu->new(...)"
for every form that is created.
model_stash
A hashref with a "stash" key whose value is the name of a Catalyst
model class that will be place in the form stash for use by
HTML::FormFu::Model::DBIC.
USAGE
Use the "form" method of the model to fetch one or more forms by their
names. The form is loaded with the current request parameters and
processed.
SEE ALSO
* Catalyst::Controller::HTML::FormFu
* HTML::FormFu::Library
AUTHOR
Peter Shangov <
[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Peter Shangov.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.