========= Changelog ========= 0.3 --- *in development* - Attributes passed at rendering of a widget are not overwritten anymore. - Rendered widgets of validated fields without subfields have now a `invalid` class if the field is not valid. 0.2 --- - Added :func:`formular.validators.is_email`. - Added a `message` parameter to :meth:`formular.fields.Field.register_as_validator`. - Added support for extensions. - Validators can now directly raise :exc:`formular.exceptions.ValidationError` exceptions. - Forms can now have context validators aka `validate_*` methods. - :meth:`formular.forms.HTMLForm.validate` now automatically converts values to unicode. - Added :meth:`formular.widgets.MultipleWidget.iter_subwidgets`. - Fixed a bug in :meth:`formular.fields.Multiple.to_primitive`. - Added various methods to widgets so that it's possible to render them in different ways. - :class:`formular.fields.TextField` now automatically chooses the best widget and it's possible to force the usage of a :class:`formular.widgets.Textarea` upon instantiation of the field. - Added a :class:`formular.fields.SubmitField`. 0.1 --- Initial Release