`Form` — это виджет-контейнер, который группирует поля ввода (`TextFormField`, `CheckboxFormField`, и т.д.) и управляет их валидацией и сохранением. Все поля внутри `Form` используют общий `FormState` для проверки и сброса.
Каждое поле валидации внутри `Form` должно использовать `TextFormField`, `DropdownButtonFormField` и т.п. — не обычные `TextField`.
Основные параметры
key (Key)
Обязателен для управления состоянием формы через `GlobalKey<FormState>`.
child (Widget)
Содержимое формы. Как правило, это `Column` с полями и кнопками.
autovalidateMode (AutovalidateMode)
Указывает, когда выполнять автоматическую валидацию. Например, `AutovalidateMode.onUserInteraction`.
Методы через FormState
validate() (bool)
Выполняет валидацию всех полей. Возвращает `true`, если все поля корректны.
save() (void)
Вызывает метод `onSaved()` для всех полей формы.
reset() (void)
Сбрасывает значения всех полей к начальному состоянию.
`FormState` всегда должен быть доступен через `GlobalKey`, иначе вы не сможете вызывать `validate()`, `save()` или `reset()`.