NAME
Dancer::Plugin::DataFormValidator - Easy access to Data::FormValidator from within Dancer applications
VERSION
version 0.002
SYNOPSIS
use
Dancer;
post
'/foo'
=>
sub
{
if
(
my
$results
= dfv (
'foo'
)) {
# Do some stuff
}
else
{
# Report some failure
}
}
DESCRIPTION
Provides an easy way to validate user input based on an input profile (specified as per Data::FormValidator) using a dfv()
keyword within your Dancer application.
Configuration
In the simplest case you can use Dancer::Plugin::DataFormValidator
without any configuration at all, passing validation profiles each time you call dfv()
.
To reduce visual clutter when dealing with complex validation profiles, you may optionally specify a profile in the dancer configuration that will be loaded on first use, and which contains multiple validation profiles you can then refer to by name:
plugins:
DataFormValidator:
profile:
'profiles'
dfv()
The dfv()
routine can be called several different ways. In all cases it must include either a validation profile name (which must be present in the file loaded via the profile configuration parameter), or a hashref containing the validation profile to be used (see Data::FormValidator for details on what that profile may contain).
If nothing else is included, the parameters Dancer found for the handler will be used. Otherwise, you may hand it a hashref of whatever data you wish it to check.
It will return a Data::FormValidator::Results object you can use however you please.
Explicit validation profile, explicit params
post
'/jazz'
=>
sub
{
if
(
my
$results
= dfv ({
required
=> [
qw{Name}
]}, {
Name
=>
'HorseFeathers'
})) {
do_something (
$results
->valid)
}
else
{
messages =
$results
->msgs;
}
};
Named validation profile, implicit params
post
'/contact/form'
=>
sub
{
if
(
my
$results
= dfv (
'contact'
)) {
do_something (
$results
->valid)
}
else
{
messages =
$results
->msgs;
}
};
CONTRIBUTING
This module is developed on Github at:
http://github.com/mdorman/Dancer-Plugin-DataFormValidator
Feel free to fork the repo and submit pull requests.
ACKNOWLEDGEMENTS
Derived, in intent if not actual code, from Dancer::Plugin::FormValidator by Natal Ngétal, <hobbestigrou@erakis.im>
SEE ALSO
AUTHOR
Michael Alan Dorman <mdorman@ironicdesign.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Ironic Design, Inc..
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.