NAME
Form::Sensible::Field::Select - A multiple-choice option field
SYNOPSIS
use Form::Sensible::Field::Select;
my $select_field = Form::Sensible::Field::Select->new(
name => 'bread_type'
accepts_multiple => 0
);
$select_field->add_option('wheat', 'Wheat Bread');
$select_field->add_option('white', 'White Bread');
$select_field->add_option('sour', 'Sourdough Bread');
DESCRIPTION
This Field type allows a user to select one or more options from a provided set of options. This could be rendered as a select box, a radio group or even a series of checkboxes, depending on the renderer and the render_hints provided.
Note that the value returned by a select field will always be an arrayref, even if only a single option was selected.
ATTRIBUTES
accepts_multiple
-
Does this field allow multiple options to be selected. Defaults to false.
METHODS
get_options()
-
Returns an array ref containing the allowed options. Each option is represented as a hash containing a
name
element and avalue
element for the given option. set_selection($selected_option,...)
-
Set's the provided option values as selected. If
accepts_multiple
is false, only the first item will be set as selected. add_option($option_value, $option_display_name)
-
If no
options_delegate
was provided - Adds the provided value and display name to the set of options that can be selected for this field. If an options_delegate IS provided, has no effect whatsoever.
DELEGATES
- options_delegate->($self)
-
The
options_delegate
is called to obtain the valid options for this field. Is expected to return an array ref of options. Each option should be a hash entry with aname
key and avalue
key. If nooptions_delegate
is provided, defaults to delegating to itself, using internal storage of options (using theadd_option
mechanism outlined above) - values_ok_delegate->($self, $values_arrayref)
-
The
values_ok_delegate
is called to validate the values selected for the field. It is passed an arrayref containing the selected values and should return an array of error messages if any of the values are invalid, or undef otherwise. If novalues_ok_delegate
is provided, the default delegate simply loops over the options returned by theoptions_delegate
and checks each value provided in turn. If retrieving options is an expensive operation (say pulling from a DB table) it is often less expensive to check the specific values provided rather than pulling back all options and then comparing them. This delegate action provides for that possibility.
AUTHOR
Jay Kuri - <jayk@cpan.org>
SPONSORED BY
Ionzero LLC. http://ionzero.com/
SEE ALSO
LICENSE
Copyright 2009 by Jay Kuri <jayk@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 211:
You forgot a '=back' before '=head1'