Form generation and validation library for Zope
Forms are web components that use widgets to display and input data. Typically a template displays the widgets by accessing an attribute or method on an underlying class.
Documentation is hosted at https://zopeformlib.readthedocs.io/en/latest/
- Add support for Python 3.7.
- Make the tests compatible with zope.i18n >= 4.5.
- Fix IE issue in /@@user-information?user_id=TestUser for orderedSelectionList (GH#17)
- Move documentation to https://zopeformlib.readthedocs.io
- Add support for Python 3.5, and 3.6.
- Drop support for Python 2.6 and 3.3.
- Use UTF-8 as default encoding when casting bytes to unicode for Python 2 and 3.
- Add support for PyPy. (PyPy3 is pending release of a fix for: https://bitbucket.org/pypy/pypy/issue/1946)
- Add support for Python 3.4.
- Add support for testing on Travis.
- Explicitly hide span in orderedSelectionList.pt. This only contains hidden inputs, but Internet Explorer 10 was showing them anyway.
- Support for CSRF protection.
- Added support for restricting the acceptable request method for the form submit.
- Added support for Python 3.3.
- Moved default values for the BooleanDisplayWidget from module to class definition to make them changeable in instance.
- LP #1017884: Add redirect status codes (303, 307) to the set which prevent form rendering.
- Replaced deprecated zope.component.adapts usage with equivalent zope.component.adapter decorator.
- Replaced deprecated zope.interface.implements usage with equivalent zope.interface.implementer decorator.
- Dropped support for Python 2.5.
- Make separator of SourceSequenceDisplayWidget configurable.
Added ignoreContext attribute to form classes to control whether checkInvariants takes the context of the form into account when checking interface invariants.
By default ignoreContext is set to False. On the AddForm it is True by default because the context of this form is naturally not suitable as context for the interface invariant.
- checkInvariants now takes the context of the form into account when checking interface invariants.
- Tests are no longer compatible with Python 2.4.
- Fixed bug in orderedSelectionList.pt template.
- Fixed Action name parameter handling, since 4.0.3 all passed names were lowercased.
- Fixed tests to pass under Python 2.7.
- Fix validation of “multiple” attributes in orderedSelectionList.pt.
- Keep Actions from raising exceptions when passed Unicode lables [LP:528468].
- Improve display of the “nothing selected” case for optional Choice fields [LP:269782].
- Improve truth testing for ItemDisplayWidget [LP:159232].
- Don’t blow up if TypeError raised during token conversion [LP:98491].
- Adapted tests for Python 2.4 (enforce sorting for short pprint output)
- Documentation uploaded to PyPI now contains widget documentation.
- Escape MultiCheckBoxWidget content [LP:302427].
Widget implementation and all widgets from zope.app.form have been moved into zope.formlib, breaking zope.formlib’s dependency on zope.app.form (instead zope.app.form now depends on zope.formlib).
Widgets can all be imported from zope.formlib.widgets.
Widget base classes and render functionality is in zope.formlib.widget.
All relevant widget interfaces are now in zope.formlib.interfaces.
- Use named template from zope.browserpage in favor of zope.app.pagetemplate.
- Use ViewPageTemplateFile from zope.browserpage.
- Adjusted test output to new zope.schema release.
- Rid ourselves from zope.app test dependencies.
- Fix: Button label needs escaping
- Remove deprecated imports.
- Remove dependency on zope.app.container (use IAdding from zope.browser.interfaces) instead. Depend on zope.browser>=1.1 (the version with IAdding).
- Moved namedtemplate to zope.app.pagetemplate, to cut some dependencies on zope.formlib when using this feature. Left BBB imports here.
- Adapt tests for Python 2.5 output.
- Adapt tests to upcoming zope.schema release 3.5.1.
Test dependencies are declared in a test extra now.
Introduced zope.formlib.form.applyData which works like applyChanges but returns a dictionary with information about which attribute of which schema changed. This information is then sent along with the IObjectModifiedEvent.
This fixes https://bugs.launchpad.net/zope3/+bug/98483.
- Actions that cause a redirect (301, 302) do not cause the render method to be called anymore.
- The zope.formlib.form.Action class didn’t fully implement zope.formlib.interfaces.IAction.
- zope.formlib.form.setupWidgets and zope.formlib.form.setupEditWidgets did not check for write access on the adapter but on context. This fixes https://bugs.launchpad.net/zope3/+bug/219948
No further changes since 3.4.0a1.
Initial release as a separate project, corresponds to zope.formlib from Zope 3.4.0a1