package HTML::Widget::Constraint::In; use base 'HTML::Widget::Constraint'; use strict; use warnings; __PACKAGE__->mk_accessors(qw/in/); =head1 NAME HTML::Widget::Constraint::In - Check that a value is one of a current set. =head1 SYNOPSIS $widget->constraint( In => "foo" )->in(qw/possible values/); =head1 DESCRIPTION =head1 METHODS =head2 validate =cut sub validate { my ( $self, $value ) = @_; # Return valid on an empty value return 1 unless defined($value); return 1 if ( $value eq '' ); my $in = $self->in; my %in = map { $_ => 1 } ref $in ? @{ $self->in } : $in; return exists $in{$value}; } =head2 in Arguments: @values A list of valid values for that element. =cut 1;