Catalyst::Model::FormFu - Speedier interface to HTML::FormFu for Catalyst
version 0.001
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'; }
Catalyst::Model::FormFu is an alternative interface for using HTML::FormFu within Catalyst. It differs from Catalyst::Controller::HTML::FormFu in the following ways:
Catalyst::Model::FormFu
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.
Catalyst::Model::FormFu accepts the following configuration options
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.
A hashref of options that will be passed to HTML::FormFu->new(...) for every form that is created.
HTML::FormFu->new(...)
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.
stash
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.
form
Catalyst::Controller::HTML::FormFu
HTML::FormFu::Library
Peter Shangov <pshangov@yahoo.com>
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.
To install Catalyst::Model::FormFu, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Model::FormFu
CPAN shell
perl -MCPAN -e shell install Catalyst::Model::FormFu
For more information on module installation, please visit the detailed CPAN module installation guide.