Flutter

Flutterのバリデーション|未入力・文字数・メール形式チェックの基本

Flutterの入力バリデーションを初心者向けに解説します。TextFormFieldのvalidatorで未入力、文字数、メール形式をチェックする方法を整理します。

この記事の目次
  1. この記事の結論
  2. 未入力チェック
  3. 文字数チェック
  4. メール形式チェック
  5. 実装後に確認すること
  6. よくあるつまずき
  7. 次に読む記事
  8. まとめ

バリデーションは、ユーザー入力が正しいか確認する処理です。

この記事の結論

最初は未入力、文字数、メール形式の3つをvalidatorで書ければ十分です。

未入力チェック

空ならエラーメッセージを返します。

String? requiredText(String? value) {
  if (value == null || value.trim().isEmpty) {
    return "入力してください";
  }
  return null;
}

文字数チェック

短すぎる入力を防ぎます。

String? minLength(String? value) {
  if (value == null || value.length < 8) {
    return "8文字以上で入力してください";
  }
  return null;
}

メール形式チェック

簡易的な形式チェックを行います。

String? email(String? value) {
  final text = value ?? "";
  if (!text.contains("@")) {
    return "メールアドレスを入力してください";
  }
  return null;
}

実装後に確認すること

  • 画面上で余白や入力が意図通りか確認したか
  • 小さい画面で崩れないか確認したか
  • 状態管理や画面遷移の責務を混ぜすぎていないか
  • 関連するWidgetとの使い分けを説明できるか

よくあるつまずき

  • 便利なWidgetに役割を詰め込みすぎる
  • 固定サイズや固定余白だけで作る
  • 入力値の破棄やバリデーションを忘れる
  • ListViewやGridViewをColumn内で高さ指定なしに置く

次に読む記事

まとめ

Flutter バリデーションはFlutter UIを作るうえでよく使う基本です。最小コードで動きを確認し、関連Widgetと使い分けながら画面を組み立てましょう。