Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
596 of 1024 menu
◀ ▶

Виджет TextFormField

Виджет TextFormField оборачивает TextField и добавляет validator, onSaved и связь с Form. Режим проверки задают через AutovalidateMode.

Синтаксис

TextFormField( controller: controller, decoration: InputDecoration(labelText: 'abcde'), validator: (value) => null, )

Параметры

Параметр Описание
controller Контроллер текста. Тип TextEditingController.
decoration Оформление поля. Тип InputDecoration.
validator Функция проверки. Возвращает текст ошибки или null.
onSaved Вызывается при save у FormState с текущим значением.
autovalidateMode Когда запускать validator. Тип AutovalidateMode.
initialValue Начальная строка, если нет controller.

Пример

Давайте выведем поле с подписью по центру экрана:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: TextFormField( decoration: const InputDecoration( labelText: 'abcde', border: OutlineInputBorder(), ), ), ), ), ), ); }

На экране появится поле с подписью 'abcde' и рамкой Material.

Пример

Давайте зададим начальное значение и проверку:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: TextFormField( initialValue: '12345', validator: (v) => v!.isEmpty ? 'empty' : null, decoration: const InputDecoration(hintText: 'abcde'), ), ), ), ), ); }

На экране поле уже содержит '12345', проверка сработает при отправке формы.

Смотрите также

  • виджет Form,
    который объединяет поля формы
  • виджет TextField,
    который принимает текст с клавиатуры
  • перечисление AutovalidateMode,
    который решает, когда проверять форму
  • класс FormState,
    который управляет проверкой и сохранением
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить