カテゴリ: Bootstrap 更新日: 2025/10/31

Bootstrapのバリデーションとフォームレイアウト移行チェック項目を初心者向けに解説!

バリデーションとフォームレイアウトの移行チェック項目
バリデーションとフォームレイアウトの移行チェック項目

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

生徒

「Bootstrap3から5にアップグレードするときに、フォームのデザインが崩れるって聞いたんですがどうすればいいんですか?」

先生

「フォームのクラス名やバリデーション(入力内容のチェック方法)が変わっているので、その部分を確認して修正する必要があります。」

生徒

「バリデーションって何ですか?」

先生

「例えばメールアドレスを入力する欄で、間違った形式だとエラーを出す仕組みのことです。Bootstrap5では専用のクラスを使って見た目のエラー表示が簡単にできるんです。」

1. Bootstrap3と5でのフォーム構造の違い

1. Bootstrap3と5でのフォーム構造の違い
1. Bootstrap3と5でのフォーム構造の違い

Bootstrap3ではフォームを作成するときに「form-group」「control-label」「form-control」といったクラスを使っていました。Bootstrap5でも「form-control」は引き続き使いますが、ラベルやレイアウトの書き方に違いがあります。

特に「.form-group」は廃止され、「mb-3」などのマージンクラスを使ってスペースを調整する方式に変わりました。つまり「まとめ用の箱」を作るのではなく、直接ユーティリティクラスを使う形です。

2. フォームラベルの変更点

2. フォームラベルの変更点
2. フォームラベルの変更点

Bootstrap3ではラベルに「.control-label」を付けていましたが、Bootstrap5では不要になりました。単純に<label>タグを使えば自動的に適切なスタイルが適用されます。


<!-- Bootstrap3 -->
<div class="form-group">
  <label class="control-label">メールアドレス</label>
  <input type="email" class="form-control">
</div>

<!-- Bootstrap5 -->
<div class="mb-3">
  <label class="form-label">メールアドレス</label>
  <input type="email" class="form-control">
</div>
ブラウザ表示

3. バリデーション用クラスの変化

3. バリデーション用クラスの変化
3. バリデーション用クラスの変化

Bootstrap3ではJavaScriptと組み合わせてエラー表示を工夫していましたが、Bootstrap5では「is-valid」「is-invalid」というクラスを追加するだけで、入力欄に緑色や赤色の枠線を表示できます。

また、エラーメッセージには「.invalid-feedback」を使うことで、見た目が統一されたメッセージを簡単に表示できます。


<div class="mb-3">
  <label class="form-label">ユーザー名</label>
  <input type="text" class="form-control is-invalid">
  <div class="invalid-feedback">この欄は必須です。</div>
</div>
ブラウザ表示

4. 横並びフォーム(フォームレイアウト)の違い

4. 横並びフォーム(フォームレイアウト)の違い
4. 横並びフォーム(フォームレイアウト)の違い

Bootstrap3では「form-horizontal」を指定してラベルと入力欄を横並びにしていましたが、Bootstrap5ではグリッドシステムを使って表現します。つまり、レイアウト用のユーティリティを組み合わせる方式になったのです。


<!-- Bootstrap3 -->
<form class="form-horizontal">
  <div class="form-group">
    <label class="col-sm-2 control-label">パスワード</label>
    <div class="col-sm-10">
      <input type="password" class="form-control">
    </div>
  </div>
</form>

<!-- Bootstrap5 -->
<form>
  <div class="row mb-3">
    <label class="col-sm-2 col-form-label">パスワード</label>
    <div class="col-sm-10">
      <input type="password" class="form-control">
    </div>
  </div>
</form>
ブラウザ表示

5. チェックボックスとラジオボタンの変更

5. チェックボックスとラジオボタンの変更
5. チェックボックスとラジオボタンの変更

Bootstrap3では「checkbox」「radio」というクラスをラップ要素に使っていましたが、Bootstrap5では「form-check」を使います。そして、<input>には「form-check-input」、ラベルには「form-check-label」を付けます。


<!-- Bootstrap5 -->
<div class="form-check">
  <input class="form-check-input" type="checkbox" id="check1">
  <label class="form-check-label" for="check1">利用規約に同意する</label>
</div>
ブラウザ表示

6. 移行時のチェックリスト

6. 移行時のチェックリスト
6. 移行時のチェックリスト

最後に、Bootstrap3や4から5に移行する際にフォームやバリデーションで確認すべきチェック項目をまとめます。

  • 「.form-group」は削除し、「mb-3」などのユーティリティクラスで余白を調整する。
  • ラベルは「.control-label」ではなく「.form-label」を使う。
  • エラーメッセージには「.invalid-feedback」、成功時には「.valid-feedback」を使う。
  • 入力欄のエラースタイルは「is-invalid」「is-valid」を付与する。
  • 横並びフォームは「form-horizontal」ではなくグリッドシステムで作成する。
  • チェックボックス・ラジオボタンは「form-check」を使って統一する。

これらを順番に確認すれば、フォームが崩れたりエラー表示が効かなくなったりする問題を防ぐことができます。

関連記事:
カテゴリの一覧へ
新着記事
CSSのダブルボーダーや点線・破線を完全ガイド!初心者でもわかるdotted・dashed・doubleの使い方
Bootstrapの$theme-colorsを拡張!ブランドカラー追加の完全ガイド【map-merge】
CSSの境界線を部分的に設定する方法を完全ガイド!初心者でもわかるborder-topなどの使い方
BootstrapのSass変数を完全ガイド!初心者でもわかる色・余白・フォント設定
人気記事
No.1
Java&Spring記事人気No1
CSSで文字の間隔を調整する方法!初心者でもわかるletter-spacingとword-spacingの使い方
No.2
Java&Spring記事人気No2
CSSのtext-alignの使い方完全ガイド!初心者でもわかる文字揃えの基本
No.3
Java&Spring記事人気No3
Bootstrap 3から5への一気移行ガイド!初心者でもわかる段階的リファクタリングの進め方
No.4
Java&Spring記事人気No4
CSSの文字間・単語間の調整と影の付け方を完全ガイド!初心者でもわかるテキスト装飾術