Перечисление AutovalidateMode
Перечисление AutovalidateMode передают в Form и TextFormField.
Синтаксис
AutovalidateMode.disabled
Значения
| Значение | Описание |
|---|---|
disabled |
Только ручной validate. |
always |
Проверка при каждом rebuild. |
onUserInteraction |
После первого касания поля. |
onUnfocus |
Когда поле теряет фокус. |
Пример
Давайте включим onUserInteraction:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Form(autovalidateMode: AutovalidateMode.onUserInteraction, child: TextFormField(decoration: const InputDecoration(labelText: 'abcde'))),
),
),
),
);
}
На экране проверка начнётся после ввода.
Пример
Давайте отключим автопроверку:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Form(autovalidateMode: AutovalidateMode.disabled, child: TextFormField(decoration: const InputDecoration(hintText: '12345'))),
),
),
),
);
}
На экране validate только по кнопке.
Смотрите также
-
виджет
Form,
который объединяет поля формы -
виджет
TextFormField,
который проверяет поле внутри формы -
класс
FormState,
который управляет проверкой и сохранением -
метод
validate,
который запускает проверку всех полей