[Zope-dev] z3c.form - extraction from sequence widget

Martin Aspeli optilude at gmx.net
Thu Aug 28 17:55:24 EDT 2008


Hermann Himmelbauer wrote:
> Am Donnerstag 28 August 2008 02:35:28 schrieb Marius Gedminas:
>> On Wed, Aug 27, 2008 at 05:15:48PM -0700, Stephan Richter wrote:
>>> On Wednesday 27 August 2008, Martin Aspeli wrote:
>>>> This means that if the request contains the empty-marker only (no
>>>> selection was made) for a checkbox widget (say), then the return value
>>>> is [], rather than default (NOVALUE).
>>>>
>>>> Is that a bug? I have a custom checkbox widget derived from the
>>>> standard checkbox widget, (z3c.formwidget.query, in fact), and I never
>>>> get any "required missing" exceptions, even when I untick all the
>>>> checkboxes and click OK.
>>>>
>>>> Am I missing something?
>>> I think you have a point. Have you tried changing the behavior to
>>> return "default" and see what tests fail? If no major failures come out
>>> of this, I would say change it.
>> Wait a second, maybe I'm misunderstanding this, but I certainly oppose
>> any change that would make an unchecked checkbox an error during form
>> validation.
>>
>> A required Bool field can have two values: True or False.  One is
>> represented by a checked checkbox, the other by an unchecked checkbox.
>> An unchecked checkbox is not missing input and should not trigger
>> "required missing" errors.
> 
> I see this the same way - in my application I have a similar case (Accept some 
> policy by a checkbox-click). I solved this simply by checking the value in 
> the action handler and raising a WidgetExecutionError if it is unchecked.

The notion of a "required" boolean field is a bit weird anyway.

I think you *could* interpret it so that a boolean field that's required 
really means "you have to tick this box" (e.g. an "I agree to these 
terms and conditions" type scenario).

To put it the other way - how would you have a non-required boolean 
field represented by a checkbox? You really need three states then: True 
False and None, which you can't get with a checkbox.

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