Rechercher une page de manuel
HTML::FormFu::Model::HashRef.3pm
Langue: en
Version: 2009-05-26 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
HTML::FormFu::Model::HashRef - handle hashrefsSYNOPSIS
--- 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::FlattenAUTHOR
Moritz Onken, "onken@houseofdesign.de"Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre