I was recently working on a project which required most of it frontend parts created based on configuration.
Folloring feature were there:
Data-structure of submitted data and retrieved between frontend and backend are fixed.
Population of form from data of a jqgrid and back from form to jqgrid are also based on configuration.
Jquery validations are also implemented on every form submit.
Backend validations are also implemented using the similar rules as frontend jquery validations.
Few problems with normal HTML form controls drove me to write my own.
1. Common way to validate all types of composite controls like datepickers, transfer widgets, sliders
2. When data is received from server it is easier to loop though all the elements and set the appropriate values. Setting checkbox, multi select, radio values even in native html controls does not set their visual states to represent the same. If it is an composite plugin then there will be extra hidden fields to maintain states or visual representation will not be linked to internal data.
3. If select box is loaded using ajax then setting form data on select might have occurred prior to resolving the ajax request of selectbox. In this case deferred re-selecting of received form data is required.
. Should be able to wrap any kind of GUI plugin for form controls written by third party.
4. Combine label and field within a wrapper (This was purely for convenience of defining metadata in serverside per field. Otherwise separate declaration of field and label element would have been required)
4. Please error messages in the right place. Example after calendar icon of the datepicker.
5. Show tooltip help of a formcontrol.
6. Template based rendering of formcontrols.
This would create uniform controls swapping a slider with a spinner does not require any extra coding.
Hope this concept influences formcontrols that are going to be developed.