[Catalyst] Recommend methods for form handling

Jim Spath jspath at pangeamedia.com
Thu Jan 18 14:41:13 GMT 2007


Thanks for all the responses guys, they have been very helpful!

What about multi-lingual support?  It seems like FormBuilder is my 
"best" choice if I want to add multi-lingual support down the road.

- Jim

Ian Docherty wrote:
> <snip>
>>> The only issue I had was with checkboxes filled in from the database,
>>> since CGI does not send back a value for unchecked checkboxes then
>>> FillInForm would not handle them correctly so I had to develop a
>>> work-around.
>>>
>>> Regards
>>> Ian Docherty (IcyDee)
>>>
>>
>> Oh, amazing! I was just starting to write a post asking something like
>> that, although my problem showed on radiobuttons (e.g. option 0=No
>> doesn't get selected), using Formbuilder, but I think it's the same
>> principle.  Would you please show/explain your workaround? In the
>> meanwhile, I just tried using "false" instead of "0" (works for
>> inserting/updating, at least with PostgreSQL) and converting "0" to
>> "false" when filling form, but I don't think it's really elegant...
>>
>> Regards,
>> Juan
>>
> 
> Juan
> I have a hidden field in the form 'action' which is true when the form 
> is submitted, but false the first time the form is displayed (from the 
> database). Then for a checkbox (and I assume this could be extended to 
> radio buttons) I do the following in my template.
> 
> <input name="user_active" type="checkbox" [% IF user.active and not 
> action %]checked[% END %]>
> 
> So, first time round the 'checked' values depends only on the 
> user.active  flag (from the database) on subsequent times round (for 
> example when a form error was found) and 'action' is set then the state 
> of the checkbox is handled by FillInForm.
> 
> Without the 'and not action' bit if the database had 'user.active' set 
> then if an attempt to uncheck the checkbox was made, and if there was an 
> error on the form elsewhere, FillInForm would not uncheck the box.
> 
> Regards
> Ian Docherty (IcyDee)



More information about the Catalyst mailing list