🟧
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