HTML::FormFu::Deflator::CompoundSplit.3pm

Langue: en

Version: 2010-05-16 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

HTML::FormFu::Deflator::CompoundSplit - CompoundSplit deflator

SYNOPSIS

     ---
     element:
       - type: Multi
         name: address
         
         elements:
           - name: number
           - name: street
         
         deflator:
           - type: CompoundSplit
 
     # set the default
     
     $form->get_field('address')->default( $address );
 
 

DESCRIPTION

Deflator to allow you to set several field's values at once.

For use with a HTML::FormFu::Element::Multi group of fields.

A default value passed to the Multi field will be split according to the ``split'' setting, and its resulting parts passed to its child elements.

METHODS

split

Arguments: $regex

Default Value: "qr/ +/"

Regex used to split the default value. Defaults to a regex matching 1 or more space characters.

join

Arguments: $string

Default Value: ' '

If spliting the value results in more parts than there are fields, any extra parts are joined again to form the value for the last field. The value of ``join'' is used to join these values.

Defaults to a single space.

For example, if the Multi element contains fields "number" and "name", and is given the value "10 Downing Street"; when split this results in 3 parts: 10, "Downing" and "Street". In this case, the 1st part, 10 is assigned to the first field, and the 2nd and 3rd parts are re-joined with a space to give the single value "Downing Street", which is assigned to the 2nd field.

field_order

Arguments: \@order

If the parts from the split value should be assigned to the fields in a different order, you must provide an arrayref containing the names, in the order they should be assigned to.

     ---
     element:
       - type: Multi
         name: address
         
         elements:
           - name: street
           - name: number
         
         deflator:
           - type: CompoundSplit
             field_order:
               - number
               - street
 
 

AUTHOR

Carl Franks

LICENSE

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.