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
>> 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
> 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.
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -