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 <pshangov@yahoo.com>

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.