HTML::FormFu::Constraint::AutoSet - Set Constraint for Selects / Radiogroups / Checkboxgroups


HTML-FormFu documentation Contained in the HTML-FormFu distribution.

Index


Code Index:

NAME

Top

HTML::FormFu::Constraint::AutoSet - Set Constraint for Selects / Radiogroups / Checkboxgroups

DESCRIPTION

Top

For use with HTML::FormFu::Element::Radiogroup, HTML::FormFu::Element::Select and HTML::FormFu::Element::Checkboxgroup fields.

Ensures that the input value is one of the pre-defined element options.

SEE ALSO

Top

Is a sub-class of, and inherits methods from HTML::FormFu::Constraint::Set

HTML::FormFu

AUTHOR

Top

Carl Franks cfranks@cpan.org

LICENSE

Top

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.


HTML-FormFu documentation Contained in the HTML-FormFu distribution.

package HTML::FormFu::Constraint::AutoSet;

use Moose;
extends 'HTML::FormFu::Constraint::Set';

sub process {
    my $self = shift;

    my @set = map { _parse_value($_) } @{ $self->parent->_options };

    $self->set( \@set );

    return $self->SUPER::process(@_);
}

sub _parse_value {
    my ($item) = @_;

    if ( exists $item->{group} ) {
        return map { _parse_value($_) } @{ $item->{group} };
    }
    else {
        return $item->{value};
    }
}

__PACKAGE__->meta->make_immutable;

1;

__END__