Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTML::FormFu::Model::HUsereContributed Perl DocHTML::FormFu::Model::HashRef(3)

NAME
       HTML::FormFu::Model::HashRef - handle hashrefs

VERSION
       version 2.05

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::Role::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.24.1			  2016-10-07   HTML::FormFu::Model::HashRef(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | CONFIGURATION | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTML::FormFu::Model::HashRef&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help