Continuando con el desarrollo de nuestra app nos enfrentamos a manejar formularios en Flutter. De hecho, observemos la pantalla que desarrollaremos en este capítulo:

Como capturamos y validamos la información ingresada por el cliente será el tema que desarrollaremos. Así que comencemos 💪.
En Flutter, un formulario es un widget que se utiliza para recopilar y validar datos de entrada del usuario. Un formulario consta de varios campos de entrada, como campos de texto, botones de opción, casillas de verificación, botones de selección, entre otros, que permiten al usuario proporcionar información.
Para crear un formulario en Flutter, es necesario utilizar el widget Form junto con uno o más widgets de campo de entrada. El widget Form proporciona una serie de funciones para la validación de datos, como la validación en tiempo real, la validación en la presentación del formulario y la validación cuando se envía el formulario.
Los campos de entrada, por su parte, deben estar envueltos por un widget TextFormField, que es un widget especializado para la entrada de texto que se integra con el widget Form. El TextFormField contiene opciones de validación, como comprobaciones de longitud mínima y máxima, validación de formato, validación personalizada y más.
Algunas de las propiedades que se pueden configurar en un formulario en Flutter incluyen:
autovalidateMode: especifica cuándo se debe realizar la validación en el formulario.onSaved: una función que se llama cuando se guarda el formulario.validator: una función que se llama para validar los campos de entrada cuando el usuario envía el formulario.En Flutter, el TextFormField es un widget que se utiliza para recopilar la entrada de texto del usuario. Proporciona una interfaz de usuario de campo de texto con la que los usuarios pueden interactuar para ingresar texto.
El TextFormField es una versión especializada del widget TextField que se integra con el widget Form para proporcionar validación y otras funciones de formulario. En lugar de usar un widget TextField estándar, se recomienda utilizar el TextFormField siempre que se desee recopilar la entrada de texto en un formulario.
Algunas de las propiedades más comunes del TextFormField incluyen:
decoration: especifica la apariencia visual del campo de texto, como el texto del etiqueta, el icono, el borde, etc.validator: una función que se llama para validar el valor del campo de texto. Se llama automáticamente cuando el formulario se envía y cuando el usuario cambia el valor del campo.onSaved: una función que se llama para guardar el valor del campo de texto cuando se envía el formulario.