On 10/04/07, Daisuke Maki <[EMAIL PROTECTED]> wrote:

> The way they work at the moment, they´re intended to be run on values
> you set yourself: $field->default($obj)
> such as when you recieve a DateTime object from DBIx::Class.
> When you redisplay a form, the original submitted value is used.
> Filtered / inflated values aren´t used, so it shouldn´t prove a
> problem that the deflators are only used when it´s not been submitted.
> Of course, this is only how I think it should work - the code might
> differ from my memory! I´m also open to suggestions on how it might
> work better, as well.

Thanks, I think I get the current status now.
my perception was that

    $form->process()

runs Filters, Constraints, Inflators, and Validators and

    $form->render()

runs Deflators before outputting xhtml to produce values to be used for
rendering.

Basically what I wanted to do was

   1. Receive an form
   2. Inflate an element to an Object
   3. Refer to, and change some values of the object
   4. Deflate the object back to a string and see its
      results in the form.

For example, if I inflated a column to a DateTime object and then I
changed the value to be a year ago the specified date (and perhaps
explicitly set it as the value of that param), I was expecting the
change to be visible when render() was called.

I guess it's really the naming of the modules: there's an inflator, and
a deflator, I expected one to compliment the other. So if inflators
always run, then deflators always do too, or something like that.

I don't have too strong of an opinion as to whether this should be
changed to not -- I just thought that was a natural sequence of events.

I'd forgotten that there was a render_processed_value() method which
ensures the processed value is displayed to the user. (I was on
holiday when I initially replied!)
I agree that if render_processed_value() is true, the values should
also be run through the Deflators.
I've added a task to the issue tracker for this.

Cheers,
Carl

_______________________________________________
Html-widget mailing list
[email protected]
http://lists.rawmode.org/cgi-bin/mailman/listinfo/html-widget

Reply via email to