NAME
Dancer2::Plugin::TemplateFlute - Dancer2 form handler for
Template::Flute template engine
VERSION
Version 0.202
SYNOPSIS
Display template with checkout form:
get '/checkout' => sub {
my $form;
$form = form( name => 'checkout', source => 'session' );
template 'checkout', { form => $form };
};
Retrieve form input from checkout form body:
post '/checkout' => sub {
my ($form, $values);
$form = form( name => 'checkout', source => 'body' );
$values = $form->values;
};
Reset form after completion to prevent old data from showing up on new
form:
form('checkout')->reset;
If you have multiple forms then just pass the form token as an array
reference:
get '/cart' => sub {
my ( $cart_form, $inquiry_form );
# 'source' defaults to 'session' if not provided
$cart_form = form( name => 'cart' );
# equivalent to form( name => 'inquiry' )
$inquiry_form = form( 'inquiry' );
template 'checkout', { form => [ $cart_form, $inquiry_form ] };
};
KEYWORDS
form <$name|%params>
The following %params are recognised:
name
The name of the form. Defaults to 'main'.
values
my $form = form( 'main', values => $params );
The form parameters as a Hash::MultiValue object or something that can
be coerced into one.
Instead of "values" you can also use "source" to set initial values.
source
my $form = form( name => 'main', source => 'body' );
The following values are valid:
body
This sets the form values to the request body parameters
Dancer2::Core::Request::body_parameters.
query
This sets the form values to the request query parameters
Dancer2::Core::Request::query_parameters.
parameters
This sets the form values to the combined body and request query
parameters Dancer2::Core::Request::parameters.
session
Reads in values from the session. This is the default if no "source"
or "parameters" are specified.
NOTE: if both "source" and "values" are supplied then values is ignored.
See Dancer2::Plugin::TemplateFlute::Form for details of other parameters
that can be used.
DESCRIPTION
"Dancer2::Plugin::TemplateFlute" is used for forms with the
Dancer2::Template::TemplateFlute templating engine.
Form fields, values and errors are stored into and loaded from the
session key "form".
AUTHORS
Original Dancer plugin by:
Stefan Hornburg (Racke), "<racke at linuxia.de>"
Initial port to Dancer2 by:
Evan Brown (evanernest), "evan at bottlenose-wine.com"
Rehacking to Dancer2's plugin2 and general rework:
Peter Mottram (SysPete), "peter at sysnix.com"
BUGS
Please report any bugs or feature requests via GitHub issues:
<https://github.com/interchange/Dancer2-Plugin-TemplateFlute/issues>.
We will be notified, and then you'll automatically be notified of
progress on your bug as we make changes.
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2011-2016 Stefan Hornburg (Racke).
Copyright 2015-1016 Evan Brown.
Copyright 2016 Peter Mottram (SysPete).
This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.