🟧

HTMLのフォームでバリデーションを無効にする方法

に公開

HTMLのフォームでrequired属性によるブラウザのバリデーションは無効にすることが可能です。

主な方法は以下の2つです。


1. novalidate属性をformに付ける

<form novalidate>
  <input type="text" required>
  <button type="submit">送信</button>
</form>
  • novalidateをformタグにつけると、すべてのHTMLバリデーションが無効になります。

2. formnovalidate属性をsubmitボタンに付ける

<form>
  <input type="text" required>
  <button type="submit" formnovalidate>バリデーションせず送信</button>
</form>
  • formnovalidateを特定の送信ボタンにつけると、そのボタンで送信した場合だけバリデーションを無視できます。

3. JavaScriptでrequired属性を外す

document.getElementById('inputId').removeAttribute('required');
  • JavaScriptでrequired属性を削除すれば、そのフィールドだけバリデーションを無効にできます。

まとめ:

  • novalidate(form全体)、formnovalidate(特定ボタン)、JSでrequired削除、いずれかでバリデーションを無効にできます。
  • 目的に応じて使い分けてください。

Discussion