[html-formfu] how to write yml for many select option
    Carl Franks 
    fireartist at gmail.com
       
    Wed May 30 10:50:58 GMT 2007
    
    
  
On 29/05/07, chylli <lchangying at gmail.com> wrote:
> HI, I'm a newbie to HTML::FormFu
> Now I want to write a select elemnt whose options are from 1900 to
> 2000, but how to write my yaml file ?
> like following :
>
>   - type: multi
>     container_attrs:
>       class: vertical
>     label: birthday
>     elements:
>       - type: select
>         name: year
>         values: [year, 1900, 1901, 1902 ..... 2000]
>       - type: select
>         name: month
>         values: [month, 1,2,3,...12]
>       - type: select
>         name: day
>         values: [day, 1,2,3,..31]
>
> I must write the year form 1900 to 2000. that is so urgly. I think
> there must be a clearer way to do that. Can you teach me ?
Hmm, the ideal solution would have been if YAML supported some kind of
range definition, but I can't see anything like that in the spec.
This looks something that would be quite common - so I've added the
functionality to the group element (which select is a sub-class of).
There's a new value_range() method, which works like values(), but
expects an array-ref of at least 2 values.
So, this YAML is equivalent to the following perl code:
    ---
    element:
        type: select
        name: year
        value_range: [1900, 2000]
    $form->element({
        type => 'select',
        name => 'year',
        values => [ 1900 .. 2000 ],
    });
and with more than 2 values:
    ---
    element:
        type: select
        name: year
        value_range: [year, 1900, 2000]
    $form->element({
        type => 'select',
        name => 'year',
        values => [ 'year', 1900 .. 2000 ],
    });
You'll have to update from svn to get these changes.
Cheers,
Carl
    
    
More information about the HTML-FormFu
mailing list