🟧
HTMLのフォームでバリデーションを無効にする方法
HTMLのフォームでrequired
属性によるブラウザのバリデーションは無効にすることが可能です。
主な方法は以下の2つです。
novalidate
属性をformに付ける
1. <form novalidate>
<input type="text" required>
<button type="submit">送信</button>
</form>
-
novalidate
をformタグにつけると、すべてのHTMLバリデーションが無効になります。
formnovalidate
属性をsubmitボタンに付ける
2. <form>
<input type="text" required>
<button type="submit" formnovalidate>バリデーションせず送信</button>
</form>
-
formnovalidate
を特定の送信ボタンにつけると、そのボタンで送信した場合だけバリデーションを無視できます。
required
属性を外す
3. JavaScriptでdocument.getElementById('inputId').removeAttribute('required');
- JavaScriptで
required
属性を削除すれば、そのフィールドだけバリデーションを無効にできます。
まとめ:
-
novalidate
(form全体)、formnovalidate
(特定ボタン)、JSでrequired
削除、いずれかでバリデーションを無効にできます。 - 目的に応じて使い分けてください。
Discussion