- When the hidden widget is used to deserialize a field, return
``colander.null`` rather than the empty string so that it may be
used to represent non-text fields such as ``colander.Integer``.
This is isomorphic to the change done previously to
``deform.TextInputWidget`` to support nontextual empty fields.
- Fix typo about overriding templates using set_zpt_renderer in
- Fix link to imperative schema within in Colander docs within "Basics".
- Remove duplicate ``deform.widget.DateInputWidget`` class definition.
- Add a ``deform.widget.RichTextWidget`` widget, which adds the
- Add a ``deform.widget.AutocompleteInputWidget`` widget, which adds
a text input that can be supplied a URL or iterable of choices to
ease the search and selection of a finite set of choices.
- The ``deform.widget.Widget`` class now accepts an extra keyword argument in
its constructor: ``css_class``.
If ``css_class`` contains a value, the rendered widget will get a class
attribute equal to the value.
- Change default form action to the empty string (rather than ``.``).
Thanks to Kiran.
- Add ``deform.widget.DateInputWidget`` widget, which is a date picker
widget. This has now become the default widget for the
``colander.Date`` schema type, preferred to the date parts widget.
- Add text input mask capability to ``deform.widget.TextInputWidget``.
- Add text input mask capability to
- Custom widgets must now check for ``colander.null`` rather than
``None`` as the null sentinel value.
- Dependency on a new (0.7) version of Colander, which has been
changed to make using proper defaults possible; if you've used the
``default`` argument to a ``colander.SchemaNode``, or if you've
defined a custom Colander type, you'll want to read `the updated
Colander documentation <http://docs.repoze.org/colander>`_
(particularly the changelist). Short story: use the ``missing``
- If you've created a custom widget, you will need to tweak it
slightly to handle the value ``colander.null`` as input to both
``serialize`` and ``deserialize``. See the Deform docs at
`http://docs.repoze.org/deform <http://docs.repoze.org/deform>`_ for
- Every form has a formid now, defaulting to ``deform``. The formid
is used to compute the id of the form tag as well as the button ids
in the form. Previously, if a formid was not passed to the Form
constructor, no id would be given to the rendered form and the
form's buttons would not be prefixed with any formid.
- The ``deform.Form`` class now accepts two extra keyword arguments in
its constructor: ``use_ajax`` and ``ajax_options``.
If ``use_ajax`` is ``True``, the page is not reloaded when a submit
button is pressed. Instead, the form is posted, and the result
replaces the DOM node on the page.
``ajax_options`` is a string which allows you to pass extra options
to the underlying AJAX form machinery when ``use_ajax`` is True.
- Added a couple Ajax examples to the demo app.
- Add a rudimentary Ajax chapter to the docs.
- Initial release.