Provided by: libhtml-formfu-perl_2.05000-1_all
NAME
HTML::FormFu::Element::Date - 3 select menu multi-field
VERSION
version 2.05
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::Role::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.