Download

Major additions and changes
* It is now possible to run validation rules client-side as well as
server-side. This is controlled by passing a parameter to addRule()
* Implemented client-side validation for most builtin rules (MaxFileSize and
MimeType rules for file uploads cannot work client-side)
* Added JavascriptBuilder class, an instance of that is stored in Renderer and
aggregates client-side rules, references to Javascript library files and
Javascript for elements' initialization. Inline Javascript can be easily
added with a special Script element
* Implemented base Javascript library to support client-side validation.
It should hopefully allow easier customization than inline Javascript in
HTML_QuickForm 3.x
* Implemented addFilter() and addRecursiveFilter() methods which can be used
to (recursively) apply filter callbacks to element values when calling
getValue(). A new getRawValue() method allows getting unfiltered values.

Other features and changes
* Ported Date element from HTML_QuickForm 3.x
* Ported Hierselect element from HTML_QuickForm 3.x, it can now use callbacks
to load additional options via AJAX (see enclosed hierselect-ajax.php example)
* Ported Static element from HTML_QuickForm 3.x
* Added HTML_QuickForm2_Node::getData() method
* Added NotCallback and NotRegex rules, they consider element valid if callback
returns false for its value / if the value does not match regex, respectively
* It is now possible for autogenerated 'id' attributes to not have mandatory
indexes appended. Use HTML_Common2::setOption('id_force_append_index', false);
* Container rules are called after rules on contained elements (request #17576)