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 _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )