[Flutter]TextFormFieldのバリデーションを自動でするには?

Flutter

どうも、ちょげ(@chogetarou)です。

TextFormFieldのバリデーションを自動でする方法を紹介します。

スポンサーリンク

方法

プログラマー, プログラミング, コード, 仕事, コンピューター

TextFormFieldのバリデーションを自動でするには、引数「autoValidateMode」を使います。

具体的には、TextFormFieldの引数「autoValidateMode」に次のいずれかの値を指定します。

  • AutovalidateMode.always : 常にバリデーションをする
  • AutovalidateMode.onUserInteractio:ユーザーが入力中はバリデーションをする

これら2つのいずれかの値を指定することで、TextFormFieldのバリデーションを自動ですることが出来ます。

使用例

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: TextFormField(
            autovalidateMode: AutovalidateMode.onUserInteraction,
            validator: (value) {
              if (value!.length < 5) {
                return 'Error';
              }

              return null;
            },
            decoration: InputDecoration(
              border: OutlineInputBorder(
                borderRadius: BorderRadius.circular(20),
              ),
            ),
          ),
        ),
      ),
    );
  }

コメント

タイトルとURLをコピーしました