| HTML-FormFu documentation | view source | Contained in the HTML-FormFu distribution. |
HTML::FormFu::Element::Date - 3 select menu multi-field
---
elements:
- type: Date
name: birthdate
label: 'Birthdate:'
day:
prefix: "- Day -"
month:
prefix: "- Month -"
year:
prefix: "- Year -"
less: 70
plus: 0
auto_inflate: 1
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).
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.
Arguments: $date_string
- type: Date
default_natural: 'today'
Accepts a date/time string suitable for passing to parse_datetime in DateTime::Format::Natural.
- 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.
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.
Arguments: \%setting
Set values effecting the day select menu. Known keys are:
Override the auto-generated name of the select menu.
Set the default value of the select menu
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 ''.
Arguments: \%setting
Set values effecting the month select menu. Known keys are:
Override the auto-generated name of the select menu.
Set the default value of the select menu
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 ''.
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.
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.
Arguments: \%setting
Set values effecting the year select menu. Known keys are:
Override the auto-generated name of the select menu.
Set the default value of the select menu
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 ''.
Arguments: \@years
A list of years used for the year menu.
If this is set, reference, less and plus are ignored.
Arguments: $year
Default Value: the current year, calculated from time() (time() in perlfunc)
If list is not set, the list is created from the range of
reference - year_less to reference + year_plus.
Arguments: $count
Default Value: 0
Arguments: $count
Default Value: 10
Arguments: bool
Default Value: 0
If true, the list of years is listed in reverse (decreasing) 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.
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.
Although this element inherits from HTML::FormFu::Element::Block, its behaviour for the methods filters|HTML::FormFu/filters in filter (filters|HTML::FormFu/filters in filter), constraints|HTML::FormFu/constraints in constraint (constraints|HTML::FormFu/constraints in constraint), inflators|HTML::FormFu/inflators in inflator (inflators|HTML::FormFu/inflators in inflator), validators|HTML::FormFu/validators in validator (validators|HTML::FormFu/validators in validator) and transformers|HTML::FormFu/transformers in transformer (transformers|HTML::FormFu/transformers in transformer) is more like that of a field element (HTML::FormFu::Element::_Field), 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.
Is a sub-class of, and inherits methods from HTML::FormFu::Element::_Field, HTML::FormFu::Element::Multi, HTML::FormFu::Element::Block, HTML::FormFu::Element
Carl Franks, cfranks@cpan.org
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| HTML-FormFu documentation | view source | Contained in the HTML-FormFu distribution. |