[html-formfu] date element setvalue
Carl Franks
fireartist at gmail.com
Tue Aug 14 12:16:52 GMT 2007
On 10/08/07, Tobias Kremer <list at funkreich.de> wrote:
> Quoting Thorsten Domsch <tdomsch at gmx.de>:
> > name.setfromsqlstring would be cool or a method to change the value of a
> > single selectbox like name.day.value or both(which would be best)
>
> Hmm.. I think it would be useful if one could stuff in a DateTime object because
> IMHO that's what most users are dealing with if they're using DBIC and
> inflate_column.
To set the value of an individual select menu, use either of:
$date->day->{default} = $day
$date->month->{default} = $month
$date->year->{default} = $year
To set a default value for the entire date, you can now use:
$date->default( $value )
$date->default() accepts either a DateTime object, or a date string
matching the format of $date->strftime().
So that could be either of these:
$date->default( DateTime->now )
$date->default( '14-08-2007' )
> The date element should also return a DateTime object by
> default. This, together with DBIx::Class::FormFu will make it way easier to
> deal with dates.
I don't want to assume that most users are using DBIC, and don't think
auto_inflate(1) should be the default behaviour - too much magic!
However, there is a simple way to make it _your_ default behaviour...
I recommend you make it a habit to have a site-wide config file, which
you include from every form.
So for example, your form config might look like this:
---
load_config_file: 'root/forms/myapp.yml'
elements:
- etc, etc, etc
Then in your site-wide config, you can set any defaults that you wish.
For example, to make all date elements always have auto_inflate(1),
your site wide config would look like this:
---
element_defaults:
date:
auto_inflate: 1
Hope this helps,
Carl
More information about the HTML-FormFu
mailing list