カテゴリ: 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
React
PropsとStateの違いを徹底解説!使い分けのポイントまとめ
New3
React
Reactのフォーム入力を再利用しよう!初心者でもわかるフィールドコンポーネント化の考え方
New4
React
Reactでできること一覧!初心者でもわかるWebアプリ・スマホアプリ・PWAの活用方法
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.3
Java&Spring記事人気No3
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.4
Java&Spring記事人気No4
React
ViteでReact開発環境を構築する手順を完全ガイド!初心者でもできるReactの環境構築
No.5
Java&Spring記事人気No5
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.6
Java&Spring記事人気No6
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.7
Java&Spring記事人気No7
React
Reactのカードコンポーネントを汎用的に設計する方法!初心者でもわかる再利用の考え方
No.8
Java&Spring記事人気No8
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本