Support Dynamic Forms

Details

Description

One area where Click can improve is supporting dynamic forms. Typical example is registering JavaScript events on Fields to submit the Form and then add more Fields as the user navigates the Form.

Couple of reasons make this problematic. Form automatically validates its fields. One can switch off this validation but need to keep in mind to switch validation back on for non JS submissions.

The other area which is tricky is that all dynamic fields must be added in the Page onInit event in order to be processed properly. One can invoke field.bindRequestValue to query the field's value, but bindRequestValue doesn't properly check whether or not its parent Form was submitted.

I propose we add a couple of helper methods to Form and Field to make this process smoother eg:

void field.bind();
boolean field.bindAndValidate(); <- will return true if the field is valid, false otherwise