The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Continuations::Action::CrossBridge;

use Jifty::Param::Schema;
use Jifty::Action schema {

param 'name';
param 'quest';
param 'colour' => valid are ("Blue, I mean greeeeeen!", "Green");

};

sub validate_quest {
    my $self = shift;
    my $value = shift ||'';
    if ($value !~ /grail/i) {
        return $self->validation_error( quest => "Something about the grail" );
    }
    return $self->validation_ok( 'quest' );
}

sub validate_colour {
    my $self = shift;
    my $value = shift ||'';
    if ($value =~ /blue/i) {
        return $self->validation_error( colour => "That'll get you thrown off the bridge");
    }
    return $self->validation_ok('colour');
}

sub take_action {
    my $self = shift;

    $self->result->message("You crossed the bridge!");
}

1;