TextFormField:
O TextFormField é um widget Flutter que combina um campo de texto (TextField) com um formulário, facilitando a captura de entrada de texto do usuário. Ele inclui funcionalidades embutidas de validação, como validação de entrada, feedback de erro e ajuda ao preencher formulários. O TextFormField é amplamente utilizado para coletar dados de texto de forma estruturada em aplicativos, como entrada de e-mails, senhas, nomes, etc.
Exemplo básico de TextFormField:
TextFormField(
decoration: InputDecoration(
labelText: 'Nome',
hintText: 'Insira seu nome',
// Outros parâmetros de decoração
),
onChanged: (value) {
// Lógica para lidar com mudanças no texto digitado
},
validator: (value) {
if (value.isEmpty) {
return 'Por favor, insira um nome válido';
}
return null;
},
)TextEditingController:
O TextEditingController é um controlador para um campo de texto em Flutter. Ele permite controlar e manipular o texto, a seleção e outras propriedades de um widget TextField ou TextFormField. Com um TextEditingController, você pode definir ou obter o texto do campo de texto, selecionar texto programaticamente, adicionar listeners para escutar mudanças no texto e manipular a seleção do texto.
Exemplo básico de uso do TextEditingController com um TextFormField:
TextEditingController _controller = TextEditingController();
@override
Widget build(BuildContext context) {
return TextFormField(
controller: _controller,
decoration: InputDecoration(
labelText: 'Email',
hintText: 'Insira seu email',
),
onChanged: (value) {
// Lógica para lidar com mudanças no texto digitado
},
// Outros parâmetros e validações
);
}