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:

simulator_screenshot_E52251F4-39DE-4495-A94C-9B953B96DFD2.png

Como capturamos y validamos la información ingresada por el cliente será el tema que desarrollaremos. Así que comencemos 💪.

Formularios

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:

TextFormField

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: