カテゴリ: 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
Next.js
Next.jsのstylesフォルダとCSS Modules整理方法を完全ガイド!初心者でもわかるNext.jsのディレクトリ構成
New2
Next.js
Next.jsの環境構築とは?初心者が最初にやるべき準備を完全ガイド
New3
React
ReactのuseEffectでタイマー処理を実装する方法を徹底解説!初心者でもできるReactフック入門
New4
React
Reactの入力値バリデーションを完全解説!初心者でもわかるフォームチェックの基本
人気記事
No.1
Java&Spring記事人気No1
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.2
Java&Spring記事人気No2
React
ReactのPropsを使ってコンポーネントの表示を動的に切り替える方法を解説!初心者でもわかるReact入門
No.3
Java&Spring記事人気No3
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.4
Java&Spring記事人気No4
Next.js
Next.jsのApp RouterとPages Routerの役割の違いを完全解説!初心者でもわかるNext.jsの基本概念
No.5
Java&Spring記事人気No5
React
ReactでAxiosのPUT・DELETEリクエストを完全ガイド!初心者でもわかるAPI通信の基本
No.6
Java&Spring記事人気No6
React
Reactのラジオボタン選択を完全解説!初心者でもわかるReactフォーム処理
No.7
Java&Spring記事人気No7
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.8
Java&Spring記事人気No8
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築