Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

105 lines (77 sloc) 2.362 kB
NAME
Catalyst::Plugin::FormValidator::Simple::Auto - Smart validation with
FormValidator::Simple
SYNOPSIS
Loading:
use Catalyst qw/
ConfigLoader
FormValidator::Simple
FormValidator::Simple::Auto
/;
myapp.yml:
validator:
profiles: __path_to(profiles.yml)__
messages: __path_to(messages.yml)__
message_format: <span class="error">%s</span>
# and other FormValidator::Simple config
profiles.yml:
# profiles.yml
action1:
param1:
- NOT_BLANK
- ASCII
- [ 'LENGTH', 4, 10 ]
param2:
- NOT_BLANK
Then, using in your action:
sub action1 : Global {
my ($self, $c) = @_;
# $c->form($profile) already executed!
unless ($c->form->has_error) {
...
}
}
DESCRIPTION
This plugin provide auto validation to Plugin::FormValidator::Simple.
You can define validation profiles into config or YAML file, and no
longer have to write it in actions.
BUNDLING ERROR MESSAGES
With 0.08 or earlier version, you need define validator profiles and
error messages in separately.
So, you had to write two settings like this:
# profiles.yml
action1:
param1:
- NOT_BLANK
# messages.yml
action1:
param1:
NOT_BLANK: param1 is required!
It's bothered!
Since 0.09, you can place error messages in profiles config.
Above two configs is equals to:
# profiles.yml
action1:
param1:
- rule: NOT_BLANK
message: param1 is required!
METHODS
validator_profile
An accessor for current profile name
form_messages
form_messages( 'key' );
Return error messages about current validator profile.
If the key isn't presented, return all messages as hash.
EXTENDED METHODS
setup
prepare
forward
ORIGINAL IDEA
Daisuke Maki <dmaki@cpan.org>
AUTHOR
Daisuke Murase <typester@cpan.org>
COPYRIGHT
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included
with this module.
Jump to Line
Something went wrong with that request. Please try again.