Forms are the way of collecting user-entered data on web pages. A form usually consists of elements (input field + label pairs). Elements can optionally be grouped into fieldsets.
In an MVC-based web site, form functionality is separated into form models responsible for element definition and validation, and form presentation implemented with the help of special view helpers.
To create a form model, you write a class deriving from the Form
base class.
The form model is initialized by adding its elements with the help of the base
class-provided methods.
To submit form data to the server, the user clicks the Submit button, then the data is sent as part of a HTTP request. Once the user submits the form, you can extract the form data in your controller and ask the form model to validate it.
For checking and filtering the user-entered data, filters and validators
are utilized. You use the InputFilter
class which is the container for validation
rules.
If there are input errors, you display the form again, asking the user to correct the input errors. If the data is correct, you process the data with your business logic layer.