I recently implemented a simple dynamic form engine that uses dynamically loaded ASP.NET controls in conjunction with an EAV scheme to process a variable data model. The business was quite satisfied with the final product for some time, but now it requires more complex dynamic forms:
- The visibility field is bound to the values of other form fields
- A list of possible drop-down values associated with the state of other form fields.
- Fulfillment of various business rules in the form: that is, the value of FieldA should be no more than FieldX + 30 days, if FieldX is not null, blah blah
- Other complex interfield dependencies and business rules.
As you can imagine, I’m looking for a solution from the shelf, since such a mechanism from scratch seems tedious, time-consuming and not part of our core business. Ideally, I want to have a complete ASP.NET framework (MVC or WebForms) that spans all layers (business logic, presentation level, and persistence). However, beggars cannot be choices, so I would go beyond the scope of defining and evaluating business rules. In addition, I am looking for a strictly server-side solution, since my hands are tied by a strict policy that prohibits any dependence on client-side plug-ins.
XForms looks perfect, but the only mature implementations I found are based on Java (Orbeon) or Django (Chiba). Other XForms implementations I found have some dependency on client plugins.
Orbeon, ASP.NET, .
Microsoft Office InfoPath, , .
!