Флаттер
Как создать, проверить и сохранить форму во Flutter
Изучите простой способ создания формы в приложении Flutter
Форма - важный компонент в разработке приложений Fluter. Когда мы создаем форму, мы должны реализовать проверку формы, отправку и т. Д. В этом руководстве вы узнаете, как создавать, проверять и использовать форму во Flutter.
Итак, мы создадим форму регистрации с несколькими полями:
- Имя
- Фамилия
- Пароль
- Подтвердите пароль
и кнопку Зарегистрироваться.
Шаг 1. Создайте класс настраиваемого текстового поля ввода
В файле main.dart
создайте собственный класс с именем MyTextFormField
. Внутри метода сборки я использовал нестандартный стиль и в основном использовал виджет TextFormField
.
И когда мы создаем экземпляр этого класса для отображения некоторых полей в форме, мы передаем различные свойства, например, является ли поле паролем, адресом электронной почты или просто обычным текстовым полем.
Также мы передадим функции validator
и onSaved
. В функции validator
мы определим логику проверки для полей данных, а в функции onSaved
мы определим, когда validator
в порядке, а затем где будут храниться данные поля.
Шаг 2: Создайте класс модели
Давайте создадим model.dart
file в каталоге lib. Когда будет вызвана onSaved
функция в классе MyTextFormField
; мы будем хранить данные поля в этом объекте Модель.
И мы передадим экземпляр этого класса Model с данными с нашего основного экрана на экран результатов, когда форма будет отправлена, и ошибок проверки нет.
Шаг 3. Создайте экран результатов
Давайте создадим еще один класс Result
как result.dart
файл. Когда мы создаем экземпляр этого класса, мы передаем объект модели и, наконец, показываем данные объекта модели на экране.
Обычно, когда данные нашей формы действительны и мы отправляем форму, мы показываем этот экран пользователю.
Шаг 4. Установите пакет валидатора
В нашей форме есть поле адрес электронной почты. Чтобы правильно проверить это поле электронной почты, мы хотим использовать функцию, определенную в сторонней библиотеке. Поэтому укажите этот валидатор в pubspec.yaml
file и нажмите получить пакеты в Android Studio.
dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 validators: ^2.0.0+1
Шаг 5. Определите форму с проверкой
Итак, давайте посмотрим полный исходный код main.dart
file. Здесь, в виджете TestForm
, мы определили форму.
- Чтобы создать форму, сначала необходимо определить Глобальный ключ. Здесь мы определили
_formKey
как глобальный ключ. - Глобальный ключ - это ключ, который при передаче в качестве ключа в виджет может отличать виджет от всех виджетов в дереве виджетов. Кроме того, глобальный ключ может содержать состояние виджета; в данном случае мы упоминали, что
_formKey
может содержатьFormState
. - Затем мы определили виджет Форма и передали
_formKey
в качестве ключа в форме. Теперь, используя_formKey
, мы можем получить виджет формы. - Мы использовали
MyTextFormField
наш виджет настраиваемого класса для создания экземпляров всех необходимых полей с различными свойствами, например, для электронной почты, о которой мы упоминалиisEmail
istrue
. - Вы увидите, что для всех полей определены
validator
иonSaved
функции. - Когда пользователь нажимает кнопку Зарегистрироваться, мы вызываем
_formKey.currentState.validate()
. Он вызовет всеvalidator
функции, определенные вTextFormFields
. - Функция
validator
должна либо возвращать String, чтобы уведомить о типе ошибки, либо если ошибки нет, она должна возвращать null. - Если все функции валидатора внутри формы, определенные в различных
TextFormFields
, возвращаютnull
, тогда_formKey.currentState.validate()
вернетtrue
, что означает, что все данные в форме проверены. - Теперь мы можем сохранить данные. В нашем случае мы сохранили данные в объекте Model и использовали навигацию для передачи данных на экран результатов. Для сохранения данных используйте
_formKey.currentState.save()
метод, который вызовет всеonSaved
функции, определенные вTextFormFields
.
Заключение
Надеюсь, вы понимаете, как создавать, проверять и использовать формы во Flutter.
Если вы хотите увидеть больше функций или у вас есть вопросы, дайте мне знать в комментариях.
Исходный код: 🚀
Ознакомьтесь с моими другими уроками по Flutter:
👨🏼💻 Если вам понравился этот пост, вы можете оставить до пятидесяти 👏👏👏 аплодисментов. Если у вас есть вопросы или мнения, дайте мне знать в комментариях.