[Zope3-Users] Re: Formlib - handleSubmit, custom validator on action

Philipp von Weitershausen philipp at weitershausen.de
Thu Mar 29 08:44:30 EDT 2007


Darryl Cousins wrote:
> On Thu, 2007-03-29 at 05:52 -0400, Fred Drake wrote: 
>> On 3/29/07, Darryl Cousins <darryl-dF9uhgPY3yxHRB3IUnr2w72Sh7SDDEB6 at public.gmane.org> wrote:
>>> but the line previous says
>>>
>>>   data = {}
>>>
>>> So my validator always receives an empty dictionary to validate.
>> The validator is responsible for populating `data` with the valid
>> values.  That's definitely covered in the docs somewhere.
>>
>>
>>   -Fred
>>
> 
> Cheers for the reply Fred. Indeed form.txt in formlib does say:
> 
> """
> If the validator is provided as a method name, the method  will be
> called with the action and a dictionary in which to save data.
> """
> 
> Then the assumption is that the custom validator method will get the
> submitted values from the form object (also passed to the method along
> with the action and `empty` dictionary, though that isn't mentioned in
> form.txt). I'm thinking that the use-case for this functionality has
> been lost in development; historical flotsam. Who, after all, needs an
> empty dictionary passed to a method? And the method is expected to
> return <quote form.txt> a (usually empty) list of widget input errors.
> So what is the point of having an empty dict to populate?
> 
> `data` itself is not returned, nor available outside the method, so your
> answer "with the valid values" makes little sense to me. But maybe I'm
> missing something?

You are. The validator is not given just *any* empty dictionary, it is 
given the data dictionary that will later be passed to the action.


-- 
http://worldcookery.com -- Professional Zope documentation and training


More information about the Zope3-users mailing list