NAME¶
HTML::FormHandler::Field::Compound - field consisting of subfields
VERSION¶
version 0.40057
SYNOPSIS¶
This field class is designed as the base (parent) class for fields with multiple
subfields. Examples are HTML::FormHandler::Field::DateTime and
HTML::FormHandler::Field::Duration.
A compound parent class requires the use of sub-fields prepended with the parent
class name plus a dot
has_field 'birthdate' => ( type => 'DateTime' );
has_field 'birthdate.year' => ( type => 'Year' );
has_field 'birthdate.month' => ( type => 'Month' );
has_field 'birthdate.day' => ( type => 'MonthDay');
If all validation is performed in the parent class so that no validation is
necessary in the child classes, then the field class 'Nested' may be used.
The array of subfields is available in the 'fields' array in the compound field:
$form->field('birthdate')->fields
Error messages will be available in the field on which the error occurred. You
can access 'error_fields' on the form or on Compound fields (and subclasses,
like Repeatable).
The process method of this field runs the process methods on the child fields
and then builds a hash of these fields values. This hash is available for
further processing by "actions" in HTML::FormHandler::Field and the
validate method.
Widget type is 'compound'
build_update_subfields¶
You can set 'defaults' or other settings in a 'build_update_subfields' method,
which contains attribute settings that will be merged with field definitions
when the fields are built. Use the 'by_flag' key with 'repeatable',
'compound', and 'contains' subkeys, or use the 'all' key for settings which
apply to all subfields in the compound field.
AUTHOR¶
FormHandler Contributors - see HTML::FormHandler
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2014 by Gerda Shank.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.