package TestApp::Plugin::REST::Action::DoSomething;
use Jifty::Param::Schema;
use base qw/TestApp::Plugin::REST::Action/;
use Jifty::Action schema {
param email =>
label is 'Email',
default is 'example@email.com',
ajax canonicalizes,
ajax validates;
};
sub canonicalize_email {
my $self = shift;
my $address = shift;
return lc($address);
}
sub validate_email {
my $self = shift;
my $address = shift;
if($address =~ /bad\@email\.com/) {
return $self->validation_error('email', "Bad looking email");
} elsif ($address =~ /warn\@email\.com/) {
return $self->validation_warning('email', "Warning for email");
}
return $self->validation_ok('email');
}
sub take_action {
my $self = shift;
$self->result->message("Something happened!");
}
1;