NAME
Dancer::Plugin::Form - Dancer form handler for Template::Flute template engine
VERSION
Version 0.0061
SYNOPSIS
Display template with checkout form:
get
'/checkout'
=>
sub
{
my
$form
;
$form
= form(
'checkout'
);
template
'checkout'
, {
form
=>
$form
};
};
Retrieve form input from checkout form:
post
'/checkout'
=>
sub
{
my
(
$form
,
$values
);
$form
= form(
'checkout'
);
$values
=
$form
->
values
();
};
Reset form after completion to prevent old data from showing up on new form:
$form
= form(
'checkout'
);
$form
->
reset
;
DESCRIPTION
Dancer::Plugin::Form
is used for forms with the Dancer::Template::TemplateFlute templating engine.
Form fields, values and errors are stored into and loaded from the session key form
.
METHODS
new
Creates Dancer::Plugin::Form
object.
name
Get form name:
$form
->name
action
Set form action:
$form
->action(
'/checkout'
);
Get form action:
$action
=
$form
->action;
fill
Fill form values:
$form
->fill({
username
=>
'racke'
,
=>
'racke@linuxia.de'
});
values
Get form values as hash reference:
$values
=
$form
->
values
;
Set form values from a hash reference:
$values
=>
$form
->
values
(
ref
=> \
%input
);
valid
Determine whether form values are valid:
$form
->valid();
Return values are 1 (valid), 0 (invalid) or undef (unknown).
Set form status to "valid":
$form
->valid(1);
Set form status to "invalid":
$form
->valid(0);
The form status automatically changes to "invalid" when errors method is called with error messages.
errors
Set form errors:
$form
->errors({
username
=>
'Minimum 8 characters'
,
=>
'Invalid email address'
});
Get form errors as hash reference:
$errors
=
$form
->errors;
errors_hashed
Returns form errors as array reference filled with a hash reference for each error.
failure
Indicates form failure by passing form errors.
$form
->failure(
errors
=> {
username
=>
'Minimum 8 characters'
,
=>
'Invalid email address'
});
You can also set a route for redirection:
return
$form
->failure(
errors
=> {
username
=>
'Minimum 8 characters'
},
route
=>
'/account'
);
Passing parameters for the redirection URL is also possible:
return
$form
->failure(
errors
=> {
username
=>
'Minimum 8 characters'
},
route
=>
'/account'
,
params
=> {
layout
=>
'mobile'
});
Please ensure that you validate input submitted by an user before adding them to the params
hash.
fields
Set form fields:
$form
->fields([
qw/username email password verify/
]);
Get form fields:
$fields
=
$form
->fields;
pristine
Determines whether a form is pristine or not.
This can be used to fill the form with default values and suppress display of errors.
A form is pristine until it receives form field input from the request or out of the session.
reset
Reset form information (fields, errors, values, valid) and updates session accordingly.
from_session
Loads form data from session key 'form'. Returns 1 if session contains data for this form, 0 otherwise.
to_session
Saves form name, form fields, form values and form errors into session key 'form'.
AUTHOR
Stefan Hornburg (Racke), <racke at linuxia.de>
BUGS
Please report any bugs or feature requests to bug-dancer-template-templateflute at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dancer-Template-TemplateFlute. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Dancer::Plugin::Form
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Template-TemplateFlute
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2011-2015 Stefan Hornburg (Racke).
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.