Пример Flutter TextFormField: создание простой формы

Вот пример использования виджета TextFormFieldво Flutter, а также некоторых часто используемых методов:

import 'package:flutter/material.dart';
class MyForm extends StatefulWidget {
  @override
  _MyFormState createState() => _MyFormState();
}
class _MyFormState extends State<MyForm> {
  final _formKey = GlobalKey<FormState>();
  TextEditingController _textEditingController = TextEditingController();
  @override
  void dispose() {
    _textEditingController.dispose();
    super.dispose();
  }
  @override
  Widget build(BuildContext context) {
    return Form(
      key: _formKey,
      child: Column(
        children: [
          TextFormField(
            controller: _textEditingController,
            decoration: InputDecoration(
              labelText: 'Enter your name',
            ),
            validator: (value) {
              if (value.isEmpty) {
                return 'Please enter your name';
              }
              return null;
            },
          ),
          ElevatedButton(
            onPressed: () {
              if (_formKey.currentState.validate()) {
                // Form is valid, do something
                String name = _textEditingController.text;
                print('Hello, $name!');
              }
            },
            child: Text('Submit'),
          ),
        ],
      ),
    );
  }
}

В этом примере у нас есть простая форма с виджетом TextFormField. TextFormFieldиспользуется для захвата вводимых пользователем данных, в данном случае имени пользователя. Свойство validatorиспользуется для проверки ввода, гарантируя, что он не пуст. Форма заключена в виджет Form, который помогает управлять состоянием формы и ее проверкой. При нажатии кнопки отправки форма проверяется, и если она действительна, имя выводится на консоль.