[Html-widget] Setting field values using query parameters
Will Hawes
info at whawes.co.uk
Mon Oct 16 18:47:18 CEST 2006
Carl Franks wrote:
> On 14/10/06, Zbigniew Lukasiak <zzbbyy at gmail.com> wrote:
>> You can process without query -
>> $widget->process()
>> And then set the values on the result object.
>
> Thanks Zbyszek,
>
> It took me a while to figure out how to do this, so just in case
> anyone else is as slow as me...
>
> $result->add_valid( key => $value );
So next question, along similar lines. Having looked at
DBIx::Class::HTMLWidget, I'm a bit confused by its fill_widget() method.
This sets values using $widget->element()->value() and goes as far as to
show some example Catalyst controller code in the synopsis.
But none of the example TT code I've seen works on the HTML::Widget
object, it all uses the HTML::Widget::Result object generated by
$widget->process(). Whether or not you supply it a query, process()
doesn't appear to preserve any element values. Calling process() after
fill_widget() therefore appears to lose all the values stored by
fill_widget().
It would be possible to create a TT template that iterates through the
elements in a HTML::Widget object, but IMO it would make a lot more
sense if calling process() without a query preserved all the values
stored on individual elements. That way you'd only need a single template.
More information about the Html-widget
mailing list