You use MVC form fields to collect user input and persist the input in form responses. MVC form fields follow the model-view-controller convention, so you create form fields in a similar workflow as creating widgets in Feather. In addition, similar to standard form fields, you can create the new fields in separate assemblies, following MVC principles of "separation of concerns".
The following tutorial demonstrates how to create a Yes/No field to use in MVC forms. You first create the folder structure, then the custom model, controller, and view. Finally, you register the field in Sitefinity CMS forms toolbox.
The model represents the data your application works with.
NOTE: This example uses plain C# classes for the model.
To create the custom model:
NOTE: When creating new form fields, your controller can inherit FormFieldControllerBase. Thus, your field is compatible with the forms functionality in Sitefinity CMS. The FormFieldControllerBase provides two actions - Write and Read, which are invoked depending on the Form widget settings. If you want to implement some custom logic in these actions, you can just override them.
You implement the view that shows the data from the model, populated in the controller:
As a result, the field is automatically registered in Sitefinity CMS forms toolbox and you can now use the new field on your MVC forms.
Back To Top