El formulario es la manera de recolectar los datos ingresados por el usuario en una página web. Un formulario usualmente esta formado por elementos (pares campos de entrada + etiquetas de campo). Opcionalmente los elementos pueden ser agrupados en conjuntos de campos.
En un sitio web basado en MVC las funciones de un formulario están separadas en modelos de formulario, responsables de la definición de los elementos y la validación, y la presentación del formulario que se implementa con la ayuda de ayudantes de vista.
Para crear un modelo de formulario escribimos una clase que deriva de la clase
base Form
. El modelo de formulario se inicializa añadiendo sus elementos con la
ayuda de los métodos provistos por la clase base.
Para enviar los datos del formulario al servidor el usuario hace clic en el botón Submit, luego los datos se envían como parte de la petición HTTP. Una vez que el usuario envía el formulario podemos extraer los datos del formulario en el controlador y pedirle al modelo de formulario que valide los datos.
Para revisar y filtrar los datos ingresados por el usuario se utilizan filtros
y validadores. Podemos usar la clase InputFilter
que es el contenedor para
las reglas de validación.
Si existen errores de entrada se muestra el formulario de nuevo pero pidiéndole al usuario que corrija los errores de entrada. Si los datos son correctos procesamos los datos con nuestra capa de lógica de negocio.