[Zope3-Users] Formlib and invariants?

Gary Poster gary at zope.com
Thu May 4 07:35:51 EDT 2006


On May 3, 2006, at 11:51 PM, Bernd Dorn wrote:

> yes, this should really be fixed up in the default implementation  
> of formlib
>
> because interface.Invalid has no registered multiadapter to
>  zope.app.form.browser.interfaces.IWidgetInputErrorView
>
> you have to raise a WidgetInputError
>
> an example for such an error:
>
> from zope.schema import Datetime,Bool,ValidationError
> from zope.app.form.interfaces import IWidgetInputError
>
> class FromGreaterThanTo(ValidationError):
>     u"""From-Date is after To-Date"""
>
>     # this is needed to adapt to a view for formlib
>     implements(IWidgetInputError)

Well, you can raise any error from an invariant that  
extends...zope.interface.Invalid, maybe?  The invariant interface  
says what is allowed somewhere in zope.interface.

...I suppose we could have a generic view for Invalid errors that  
simply said "This is invalid, try again"?  Doesn't seem very useful  
to me.

You are responsible for making sure you have a reasonable exception  
view of an exception you raise.  I'm inclined to think that this is a  
documentation bug at worst.

Gary


More information about the Zope3-users mailing list