HTML::FormFu::Model::HUsereContributed Perl DocHTML::FormFu::Model::HashRef(3)NAMEHTML::FormFu::Model::HashRef - handle hashrefs
SYNOPSIS---
elements:
- user_id
- user_name
- type: Repeatable
nested_name: addresses
elements:
- type: Hidden
name: id
- street
$form->model('HashRef')->default_values( {
user_id => 123,
user_name => 'Hans',
addresses => [
{ id => 2,
street => 'Somewhere' },
{ id => 3,
street => 'Somewhere Else' }
]
} );
$form->default_model('HashRef');
my $hashref = $form->model->create();
# $hashref is very much the same as the hashref you passed to default_values()DESCRIPTION
If you need the content of a formular as hashref or for processing with
other modules like "JSON" you can use this model.
METHODS
create
This method creates a hashref from a filled form. This form can be
filled by calling "default_values" in HTML::FormFu, default_values of
any other model class (e. g. HTML::FormFu::Model::DBIC) or by simply
submitting the form.
If "deflators" is true all deflators are processed (defaults to 1).
If "options" is true the value of all elements which have options like
HTML::FormFu::Element::Select will be transformed.
---
elements:
- type: Select
name: select
options:
- [1, "Foo"]
- [2, "Bar"]
If the value of "select" is 1, create will create this hashref:
{ 'select' => { label => 'Foo', value => 1 } }
If there is more than one value selected, an arrayref is created
instead:
{ 'select' => [ { label => 'Foo', value => 1 },
{ label => 'Bar', value => 2 } ] }
If "options" is false, the output will look like this:
{ 'select' => 1 }
respectively
{ 'select' => [1, 2] }
"options" is false by default.
To get a flattened hash, you can set "/flatten" to a true value
(defaults to 0). This will generate a hash which uses the nested name
of each field as key and the value of this field as hash value. If
there is a field which has more than one value, a counter is added. The
above example would result in a hash like this using "/flatten":
{ 'select_0' => 1,
'select_1' => 2 }
update
Alias for "create".
default_values
Populate a form using a hashref. This hashref has the same format as
the output of "create". If "inflators" is true, all inflators will be
processed (defaults to 1).
CONFIGURATION
These methods do not return the model object so chaining is not
possible!
options
Adds the label of a value to the hashref if the element has "options"
in HTML::FormFu::Element::_Group. See "create" for an example.
Defaults to 0.
flatten
Flattens the hash using Hash::Flatten. See "create" for an example.
Defaults to 0.
deflators
If true, processes deflators in "/create". Defaults to 1.
inflators
If true, processes inflators in "/default_values". Defaults to 1.
SEE ALSO
HTML::FormFu, Hash::Flatten
AUTHOR
Moritz Onken, "onken@houseofdesign.de"
perl v5.14.2 2012-01-23 HTML::FormFu::Model::HashRef(3)