use strict; use warnings; use Test::More tests => 2; use HTML::FormFu; my $form = HTML::FormFu->new; # Autoset on Select with optgroups my $field = $form->element('Select')->name('foo'); $field->options( [ ['item 1'], { value => 'item 2', }, { group => [ ['item 3'], { value => 'item 4', } ], }, ['item 5'], { group => [ { value => 'item 6', }, ['item 7'], ], }, ] ); $field->constraint('AutoSet'); # Valid { $form->process( { foo => 'item 6', } ); # Constraint set has 7 values is_deeply( $form->get_constraint->set, [ 'item 1', 'item 2', 'item 3', 'item 4', 'item 5', 'item 6', 'item 7' ], ); ok( $form->valid('foo') ); }