Skip to main content

Work around problems/weaknesses in 'zope.formlib' and the widgets in ''.

Project description

This package allows to work around problems/weaknesses in zope.formlib and the associated widgets in, described by “” and “”.

The package has been developed for Zope 2.10, will probably work for Zope 2.11 and is unlikely to work for very new Zope versions, because the widget code has been moved from to zope.formlib. I may publish versions of this package for new Zope versions in the future.

The package consists of various modules described below.

To use the package in your application, you import some of its patch functions (mentioned below) and call them during the startup of your application.

I hope that corresponding patches will sooner or later appear in the standard Zope code and make this package obsolete.


Together with widget, this module is destined to work around and

zope.formlib distinguishes between widget related errors and other (more global) errors. If a widget itself detects a widget related error (usually because a restriction for the associated field fails), it sets its error condition. This error condition is usually used to highlight the widget containing an error and to provide information about this error. However, if the widget related error is not detected by the widget itself, the error is not associated with the widget and important information may be missing.

The function patch_action() in module form enhances zope.formlib.form.Action by an additional method associate_errors_with_widgets and redefines its failure method to call it unless an explicit failure handler is specified. This provides for automatic error association with the widgets in the standard case.

associate_errors_with_widgets tries to associate with the corresponding widget. For this purpose, the widget must have a setWidgetInputError method. By default widgets lack this method. However widget.patch_widget() can be used to define it. Therefore, form.patch_action() and widget.patch_widget() are usually used together.


Together with form, this module is destined to work around and

Its patch_widget() enhances (the base class for widgets) by defining the method setWidgetInputError. The method allows external code to set an error condition on the widget.

setWidgetInputError is used by the error handling implemented by the form module. Therefore, widget.patch_widget() is usually used together with form.patch_action().


This module is destined to work around and

Its patch_OrderedMultiSelectWidget() fixes

Version history


Python 3 compatibility

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dm.zopepatches.formlib-2.0.tar.gz (4.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page