On Aug 4, 2005, at 12:58 PM, Alec Munro wrote:

Hi List,

We want to allow a choice field with an "other" option, that allows
them to type in an arbitrary value. So far, we have this working up
until the point of validation. At the point of validation, it notices
that the other value is not in the vocabulary, and raises
ConstraintNotSatisfied.
My initial thought is to create a new field type for
"SuggestedChoice", that simply doesn't perform the checking against
the vocabulary values. Has anyone else run up against this?

I've been threatening to release a "union" field and widget for quite some time now. In your use case, it would work something like this (example is taken from doc string, actually):

    ...     cartoon_character = Union((
    ...         schema.Choice(
    ...             title=u'Disney',
... description=u'Some tried-and-true Disney characters',
    ...             values=(u'Goofy',u'Mickey',u'Donald',u'Minnie')),
    ...         schema.TextLine(
    ...             title=u'Write-in',
    ...             description=u'Name your own!')),
    ...         required=True,
    ...         title=u'Cartoon Character',
    ...         description=u'Your favorite cartoon character')

The widget gets the widgets for the two sub-fields and puts radio buttons next to them. Validation is tried for all sub fields. It works well (for this and other use cases) and is convenient.

I'm actually at the point that I might be able to put them in the sandbox today or tomorrow, and will do so. They still need to be cleaned up a bit :-(. I plan to write a proposal for them to be included in 3.2 soon.

Gary
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to