HTML::FormFu::Deflator::CompoundSplit(3) CompoundSplit deflator

VERSION

version 2.03

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.