HTML::FormFu::Element:UsereContributed Perl DocuHTML::FormFu::Element::Date(3)NAMEHTML::FormFu::Element::Date - 3 select menu multi-field
SYNOPSIS---
elements:
- type: Date
name: birthdate
label: 'Birthdate:'
day:
prefix: "- Day -"
month:
prefix: "- Month -"
year:
prefix: "- Year -"
less: 70
plus: 0
auto_inflate: 1
DESCRIPTION
Creates a multi element containing 3 select menus for the day, month
and year.
A date element named "foo" would result in 3 select menus with the
names "foo_day", "foo_month" and "foo_year". The names can instead be
overridden by the "name" value in "day", "month" and "year".
This element automatically merges the input parameters from the select
menu into a single date parameter (and doesn't delete the individual
menu's parameters).
METHODS
default
Arguments: DateTime object
Arguments: $date_string
Accepts either a DateTime object, or a string containing a date,
matching the "strftime" format. Overwrites any default value set in
"day", "month" or "year".
default_natural
Arguments: $date_string
- type: Date
default_natural: 'today'
Accepts a date/time string suitable for passing to "parse_datetime" in
DateTime::Format::Natural.
default_datetime_args
- type: Date
default_natural: 'today'
default_datetime_args:
set_time_zone: 'Europe/London'
Accepts a hashref of method-names / values that will be called on the
"default" DateTime object, before the select fields' values are set
from it.
strftime
Default Value: "%d-%m-%Y"
The format of the date as returned by "params" in HTML::FormFu, if
"auto_inflate" is not set.
If "auto_inflate" is used, this is still the format that the parameter
will be in prior to the DateTime inflator being run; which is what any
Filters and Constraints will receive.
day
Arguments: \%setting
Set values effecting the "day" select menu. Known keys are:
name
Override the auto-generated name of the select menu.
default
Set the default value of the select menu
prefix
Arguments: $value
Arguments: \@values
A string or arrayref of strings to be inserted into the start of the
select menu.
Each value is only used as the label for a select item - the value for
each of these items is always the empty string ''.
prefix_loc
Arguments: $localization_key
Arguments: \@localization_keys
A localized string or arrayref of localized strings to be inserted into
the start of the select menu.
Each value is localized and then only used as the label for a select
item - the value for each of these items is always the empty string ''.
Use "prefix_loc" insted of "prefix".
month
Arguments: \%setting
Set values effecting the "month" select menu. Known keys are:
name
Override the auto-generated name of the select menu.
default
Set the default value of the select menu
prefix
Arguments: $value
Arguments: \@values
A string or arrayref of strings to be inserted into the start of the
select menu.
Each value is only used as the label for a select item - the value for
each of these items is always the empty string ''.
prefix_loc
Arguments: $localization_key
Arguments: \@localization_keys
A localized string or arrayref of localized strings to be inserted into
the start of the select menu.
Each value is localized and then only used as the label for a select
item - the value for each of these items is always the empty string ''.
Use "prefix_loc" insted of "prefix".
names
Arguments: \@months
A list of month names used for the month menu.
If not set, the list of month names is obtained from DateTime::Locale
using the locale set in "languages" in HTML::FormFu.
short_names
Argument: bool
If true (and "months" is not set) the list of abbreviated month names
is obtained from DateTime::Locale using the locale set in "languages"
in HTML::FormFu.
year
Arguments: \%setting
Set values effecting the "year" select menu. Known keys are:
name
Override the auto-generated name of the select menu.
default
Set the default value of the select menu
prefix
Arguments: $value
Arguments: \@values
A string or arrayref of strings to be inserted into the start of the
select menu.
Each value is only used as the label for a select item - the value for
each of these items is always the empty string ''.
prefix_loc
Arguments: $localization_key
Arguments: \@localization_keys
A localized string or arrayref of localized strings to be inserted into
the start of the select menu.
Each value is localized and then only used as the label for a select
item - the value for each of these items is always the empty string ''.
Use "prefix_loc" insted of "prefix".
list
Arguments: \@years
A list of years used for the year menu.
If this is set, "reference", "less" and "plus" are ignored.
reference
Arguments: $year
Default Value: the current year, calculated from time()
If "list" is not set, the list is created from the range of "reference
- year_less" to "reference + year_plus".
less
Arguments: $count
Default Value: 0
plus
Arguments: $count
Default Value: 10
reverse
Arguments: bool
Default Value: 0
If true, the list of years is listed in reverse (decreasing) order.
field_order
Arguments: \@fields
Default Value: ['day', 'month', 'year']
Specify the order of the date fields in the rendered HTML.
Not all 3 fields are required. No single field can be used more than
once.
auto_inflate
If true, a DateTime Inflator will automatically be added to the
element, and it will be given a formatter so that stringification will
result in the format specified in "strftime".
If you require the DateTime Inflator to have a different
stringification format to the format used internally by your Filters
and Constraints, then you must explicitly add your own DateTime
Inflator, rather than using "auto_inflate".
CAVEATS
Although this element inherits from HTML::FormFu::Element::Block, its
behaviour for the methods filter/filters, constraint/constraints,
inflator/inflators, validator/validators and transformer/transformers
is more like that of a field element, meaning all processors are added
directly to the date element, not to its select-menu child elements.
This element's get_elements and get_all_elements are inherited from
HTML::FormFu::Element::Block, and so have the same behaviour. However,
it overrides the "get_fields|HTML::FormFu/get_fields" method, such that
it returns both itself and its child elements.
SEE ALSO
Is a sub-class of, and inherits methods from
HTML::FormFu::Element::_Field, HTML::FormFu::Element::Multi,
HTML::FormFu::Element::Block, HTML::FormFu::Element
HTML::FormFu
AUTHOR
Carl Franks, "cfranks@cpan.org"
LICENSE
This library is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.2 2012-01-23 HTML::FormFu::Element::Date(3)