CHANGES SINCE 2.11
Many bugfixes were made, including:
- full XHTML compliance (thanks to Robert Kaes)
- a Template Toolkit issue with "field.invalid" (thanks to Stephan Springl)
- bad -x "sendmail -t" test and header problems (thanks to Adam Foxson)
- problem with $validate || $required leaving JS remnants (thanks to Ryan Tate)
- more sensible internal multiple => 1 handling
- addition of skip => /pat/ option to mail*
- problem w/ multiple-value validation being broken
The rest of this document is identical to the notes regarding 2.11
IMPORTANT SECURITY FIX!
Thanks to much help from Robert Mathews and Remi Turboult, two
security holes have been plugged. These holes could allow a
malicious user to execute arbitrary code on the server if a
certain combination of options is used. *ALL* users are advised
to upgrade to this release immediately.
NEW FEATURES
Ability to specify a coderef to validate
You can now specify a reference to a subroutine in your validate
patterns, to completely handle validation:
validate => { field => \&my_sub }
The subroutine will receive the field's value as its first arg.
It will be called multiple times in the event of a multi-valued
field. The sub should return 1 if the value is valid, or undef
otherwise.
Top-level <tmpl_loop fields> added for HTML::Template
A top-level template tag, simply called "fields", has been added
which allows you to loop through all the fields in a form:
<tmpl_loop fields>
<tr><td>
<tmpl_var label>: <tmpl_var field>
</td></tr>
</tmpl_loop>
This allows you to easily reuse HTML::Template templates. Thanks
to Dimitry Kharitonov for this patch.
Addition of Text::Template support
YATE (Yet Another Template Engine) has been added to FormBuilder:
Text::Template, thanks to a big patch from Jonathan Buhacoff. See
the documentation for more details.
BUG FIXES
Literal Javascript was not being properly included in "jsfunc"
A couple edge-case oversights were fixed
Many miscellaneous loose ends tied up
Many thanks to Brad Bowman for sending me a plethora of patches
fixing a bunch of annoyances.