Class::Workflow::Transition::Validate - Provide a hook for validating a transition. |
Class::Workflow::Transition::Validate - Provide a hook for validating a transition (conditionals, input validators, etc).
package MyTransition; use Moose;
with qw/ Class::Workflow::Transition Class::Workflow::Transition::Validate /;
sub validate { my ( $self, $instance, %args ) = @_;
die "only the owner can apply this transition" unless $args{user} eq $instance->owner; }
This role will call the validate
method at the appropriate time.
validate
receives the same arguments as apply
, and is expected to die if
any of the parameters for the transition are invalid.
Technically, this role doesn't do much more than adding syntactic sugar for
before 'apply'
. However, it's value is in the convention that you can call
validate
without applying the body. This eases writing side effect free
introspection of transitions.
Class::Workflow::Transition::Validate - Provide a hook for validating a transition. |