$overlay{_template.html#body}
$begin{content}
A Gizmo Form is a QP Form where every Field Widget and the Form object itself is
also a Gizmo object, permitting a richer client-side behaviour.
- Form and Widgets retain their QP behaviour.
- Setting spec on a field widget will cause the field to be validated
against it both on the server and (redundantly) on the client.
- Setting a field as required behaves in the same way as for any other
spec.
- Setting callback on the username field will cause an AJAX
callback to be performed when the value is changed after & if the
changed value passes validation against its spec (if it has one).
- All submit buttons are disabled unless the whole form passes client-side
validation. If however this behaviour is not desirable, it can be easiliy changed
by redefining the form's JavaScript handler for the status_change
event.
As an example of a Gizmo Form that makes use of all the above mentioned features,
see the ${html.href(site.url_path_for('register'), 'Registration Form')}.
$end{content}