カテゴリ: React 更新日: 2026/02/15

Reactの入力値バリデーションを完全解説!初心者でもわかるフォームチェックの基本

入力値をバリデーションする方法(簡易チェック)
入力値をバリデーションする方法(簡易チェック)

先生と生徒の会話形式で理解しよう

生徒

「Reactでフォームを作れたんですが、変な入力を防ぐ方法ってありますか?」

先生

「ありますよ。入力された内容をチェックする仕組みをバリデーションと言います。」

生徒

「難しそうですが、初心者でもできますか?」

先生

「簡単なチェックから始めれば大丈夫です。順番に見ていきましょう。」

1. バリデーションとは何か

1. バリデーションとは何か
1. バリデーションとは何か

バリデーションとは、入力された値が正しいかどうかを確認することです。 たとえば、名前欄が空のまま送信されていないか、 文字数が極端に少なくないかなどを確認します。 これは、申込書に何も書かれていない状態で提出されるのを防ぐ作業と同じです。

2. なぜ入力チェックが必要なのか

2. なぜ入力チェックが必要なのか
2. なぜ入力チェックが必要なのか

入力チェックをしないと、空白のデータや意味のない内容が送られてしまいます。 それにより、後から確認する人が困ったり、 正しく処理できなくなることがあります。 Reactのフォーム処理では、送信前に簡単な確認を入れるのが基本です。

3. 空欄かどうかをチェックする方法

3. 空欄かどうかをチェックする方法
3. 空欄かどうかをチェックする方法

最も基本的なバリデーションは、 入力欄が空かどうかを確認することです。 何も書かれていない場合は、 送信を止めて注意を表示します。


import React, { useState } from "react";

function App() {
  const [name, setName] = useState("");

  const handleSubmit = (e) => {
    e.preventDefault();
    if (name === "") {
      alert("名前を入力してください");
      return;
    }
    alert("送信されました");
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        placeholder="名前"
        onChange={(e) => setName(e.target.value)}
      />
      <button type="submit">送信</button>
    </form>
  );
}

export default App;
(名前が空のまま送信すると、注意メッセージが表示されます)

4. 文字数をチェックする簡易バリデーション

4. 文字数をチェックする簡易バリデーション
4. 文字数をチェックする簡易バリデーション

次によく使われるのが文字数の確認です。 たとえば、名前が一文字だけだと、 本当に正しい情報か分かりません。 そのため、最低文字数を決めてチェックします。


import React, { useState } from "react";

function App() {
  const [name, setName] = useState("");

  const handleSubmit = (e) => {
    e.preventDefault();
    if (name.length < 2) {
      alert("名前は2文字以上入力してください");
      return;
    }
    alert("問題なく送信されました");
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        placeholder="名前"
        onChange={(e) => setName(e.target.value)}
      />
      <button type="submit">送信</button>
    </form>
  );
}

export default App;
(2文字未満の場合、送信が止まります)

5. エラーメッセージを画面に表示する

5. エラーメッセージを画面に表示する
5. エラーメッセージを画面に表示する

alertだけでなく、 画面の中にエラーメッセージを表示する方法もあります。 これは、紙に赤ペンで注意書きをするイメージです。 Stateを使うことで簡単に実現できます。


import React, { useState } from "react";

function App() {
  const [email, setEmail] = useState("");
  const [error, setError] = useState("");

  const handleSubmit = (e) => {
    e.preventDefault();
    if (email === "") {
      setError("メールアドレスを入力してください");
      return;
    }
    setError("");
    alert("送信成功");
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        placeholder="メールアドレス"
        onChange={(e) => setEmail(e.target.value)}
      />
      {error && <p class="text-danger">{error}</p>}
      <button type="submit">送信</button>
    </form>
  );
}

export default App;
(入力が空の場合、画面にエラーメッセージが表示されます)

6. 複数の入力をまとめてチェックする考え方

6. 複数の入力をまとめてチェックする考え方
6. 複数の入力をまとめてチェックする考え方

実際のフォームでは、 複数の入力欄を一度にチェックすることが多くなります。 その場合でも考え方は同じで、 一つずつ条件を確認していきます。 忘れ物がないか確認する作業とよく似ています。

7. 初心者が覚えておきたいポイント

7. 初心者が覚えておきたいポイント
7. 初心者が覚えておきたいポイント

バリデーションは難しい処理ではありません。 空かどうか、文字数は足りているかといった、 簡単な確認から始めることが大切です。 Reactでは、StateとonSubmitを組み合わせることで、 入力チェックを分かりやすく実装できます。

カテゴリの一覧へ
新着記事
New1
React
Reactの条件分岐の使い方を完全ガイド!初心者でもわかるReactの条件分岐
New2
Next.js
Next.jsのCSRとSSRの違いを初心者向けにわかりやすく解説!Next.jsでのレンダリング比較ガイド
New3
Next.js
Next.js CSRとは?クライアント側で描画する仕組みを初心者でもわかるように解説
New4
React
ReactのPropsでオブジェクト型を扱う方法を完全ガイド!初心者でもわかる型安全なProps管理
人気記事
No.1
Java&Spring記事人気No1
React
Reactの子コンポーネントから親コンポーネントへデータを渡す方法を徹底解説!初心者にもわかるReactのイベントとデータの流れ
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.4
Java&Spring記事人気No4
React
Reactの学習ロードマップ!初心者が最短で習得する流れを完全ガイド
No.5
Java&Spring記事人気No5
React
ReactのContext APIでログイン状態を管理する方法を完全解説!初心者でもわかる認証機能の実装
No.6
Java&Spring記事人気No6
React
React開発におすすめのVSCode拡張機能まとめ!初心者でもすぐ使える便利ツール紹介
No.7
Java&Spring記事人気No7
React
ReactのState管理ベストプラクティス!初心者でもわかる再レンダリング最適化の考え方
No.8
Java&Spring記事人気No8
React
React Context APIの値を更新する方法!useStateと組み合わせてデータを動かす初心者ガイド