Chg: The bean instance passed to render() methods is now optional.
v1.2.8
New: FormField.set() to set form field messages.
New: date and datetime-local default types for Date and DateTime Fantom fields. (Browser date support has improved.)
Chg: OptionsProvider, InputSkin, and ErrorSkin mixins are no-longer const, although most implementing classes probably should be (if contributing them to a service).
Chg: min and max validation fields in HtmlInput and FormField are now Obj types to cater for Date and DateTime.
Bug: FormBean.fieldMsg() was not picking up msgs with bean prefixes.
v1.2.6
New: Added autocomplete to FormField and HtmlInput as its usage is now gaining tracktion.
Bug: Form labels incorrectly rendered the input name as the for attribute instead of the ID.
v1.2.4
New: Exposed FormField.toValue() to convert client values to server side values.
Chg: Added color as a text InputSkin type.
Bug: Fixed rare NPE when inspecting beans.
v1.2.2
New: SleepSafe integration! Forms automatically render hidden inputs with CSRF tokens.
New: Str maps may be contributed to Messages.
New: Added FormField.disabled field that just renders the common attribute.
Bug: HTML5 validation would pass if a corresponsing validation msg could not be found. (You would need to override Messages to encouter this.)
v1.2.0
New: Removed hard dependency on BedSheet so domain objects may more easilty use / integrate with FormBean validation. The limited BedSheet integration is instead resolved at runtime. Requires BedSheet v1.5.8.
New: Added FormField.toClient()
Chg: Renamed FormBean.validateRequest() to validateHttpRequest() and dropped the HttpRequest parameter.
v1.0
v1.1.10
New: FormBean.renderUniqueIds allows the same form to be rendered multiple times on the same page.
New: HtmlInput.validationMethod and FormField.validationMethod provide an alternative means to specifying @Validate methods.
New: Added FormBean.getByField() as convenience for formBean.formFields.get(field).
New: Added FormField.stash, handy for passing data to static validate methods.
New: Messages.clear() to clear the messages cache.
Bug: null field input types were rendered as type="null" instead of type="text".
v1.1.8
New: FormBean.validateField() to validate individual fields.
New: FormField.populate() allows form fields be individually populated from @HtmlInput facets and messages.
New: Added hash(), equals(), & toStr() to FormField.
Chg: Changed the FormField ctor. (Potential breaking change.)
Bug: Fixed NPE in FormBean.validateRequest() when request had no Content-Type HTTP header.
Bug: Potential for Messages to throw an NPE if a pod contained resource files with no extension.
Bug: There was no default message for pattern.
v1.1.6
Chg: File uploads now return in-memory files. Use FormBean.fileUploadHook to change this behaviour.
Chg: FormBean.formFields is no longer read only.
Chg: Removed direct dependency on IoC Config.
v1.1.4
Chg: File uploads are no longer placed in a unique directory - it felt weird and wrong asking people to delete a directory!
((( DANGER! ))) - if upgrading from v1.1.2, DO NOT DELETE the parent directory of file uploads!
Bug: minlength input attribute was incorrectly rendered as minLength - should have been all lowercase.
v1.1.2
New: FormBean now handles File uploads!
New: Added a simple Radio button skin.
Chg: OptionsProvider.options() now takes a bean instance.
v1.1.0
New: @Validate methods for custom server side validation.
New: All attributes from @HtmlInput are pre-populated from message values and are available in FormField.
New: @HtmlInput.viewOnly attribute.
New: Messages service is now public.
New: FormFields are created via FieldInspectors.
New: FormBean.reinspectBean() method.
Chg: OptionsProvider methods now take FormField for contextual customisation. (Breaking change.)
Chg: Rejigged all the message keys, see Message Cheat Sheet for details. (Breaking change.)
Chg: Updated to work with IoC v3.0. (Breaking change.)
Chg: HtmlInput.required defaults to true if the field is non-nullable.
Chg: Messages files may also have a .props extension.
v1.0.2
Chg: Exposed SkinCtx.formField as the current field being rendered.
Bug: Could not render validation messages when run from a script.