[Zope-dev] z3c.form - creating a file upload widget

Martin Aspeli optilude+lists at gmail.com
Thu Mar 12 21:40:57 EDT 2009


Stephan Richter wrote:
> On Thursday 12 March 2009, Martin Aspeli wrote:
>> I'm writing a custom file widget for z3c.form that works like the
>> Archetypes file widget that Plone uses and the formlib widget in
>> collective.namedfile. That is, after you've uploaded a file once, you're
>> given a radio button to decide whether to upload a new file, or leave
>> the existing file in place.
>>
>> I can't quite figure out how to do this, though. I've tried to override
>> the extract() method on the widget to look in the request for the
>> special marker that says "user chose not to change the file". However, I
>> don't know what to return. If I return NOVALUE, then validation fails
>> (if the field is required). If I try to look up the field value from the
>> data manager and return it, it ends up setting the field back on itself,
>> which is wasteful.
> 
> All great questions and I am not sure I have good answers. I think you want 
> a "NONEWVALUE" or so marker and have the validator honor it correctly.
> 
> If you make a proposal to enrich the API, I'll probably agree to it. :-)

That's good, but I need this by yesterday... ;-)

Could I maybe create a custom validator that checks for a magic 
constant? If so, how? I have both a custom field (in the zope.schema 
sense) and a custom widget.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book



More information about the Zope-Dev mailing list