{
email => qw(required, email),
age => qw(integer, min:18),
}
####
{
required => qw(email),
email => qw(email),
integer => qw(age),
min => { filed => ‘age’, num => 18 },
}
####
{
required => … ,
validators => { … }
}
####
use Dancer2;
use Dancer2::Plugin::FormValidator;
package RegisterForm {
use Moo;
with 'Dancer2::Plugin::FormValidator::Role::Profile';
sub profile {
return {
username => [ qw(required alpha_num_ascii length_min:4 length_max:32) ],
email => [ qw(required email length_max:127) ],
password => [ qw(required length_max:40) ],
password_cnf => [ qw(required same:password) ],
confirm => [ qw(required accepted) ],
};
}
}
post '/form' => sub {
if (validate profile => RegisterForm->new) {
my $valid_hash_ref = validated;
save_user_input($valid_hash_ref);
redirect '/success_page';
}
redirect '/form';
};