検索

HTML フォームの検証

Sep 04, 2024 pm 04:44 PM
htmlhtml5HTML TutorialHTML PropertiesHTML tags

HTML フォームの検証は、エラーが発生したデータがサーバーに送信されるのを避けるために、HTML フォーム ページのコンテンツを検査するプロセスです。このプロセスは、Web ページまたは Web アプリケーションの品質を簡単に向上させることができるため、HTML ベースの Web アプリケーションを開発する際の重要なステップです。 HTML フォームの検証を実行するには 2 つの方法があり、HTML5 組み込み機能を使用する方法と JavaScript を使用する方法です。

HTML フォームの検証

HTML フォーム検証を実行するには主に 2 つの方法があります。

  • HTML5 組み込み機能の使用
  • JavaScript の使用

1. HTML5 組み込み機能の使用

HTML5 は、JavaScript を使用せずにフォーム検証のこの機能を提供します。フォーム要素には検証属性が追加され、フォーム検証が自動的に有効になります。検証属性を使用すると、フォーム要素にさまざまな種類のルールを指定できます。これらを使用すると、データの長さを設定したり、データの値に制限を設定したりすることができます。

組み込みのフォーム検証要素を使用した HTML フォーム検証の簡単な例を 1 つ見てみましょう。その後、JavaScript を使用した HTML フォーム検証に進みます。

HTML5 検証属性を使用したフォーム検証 – この例では、必須フォーム検証タグを使用します。これにより、そのフィールドのデータの入力が必須になります。そうしないと、フォームは送信されません。以下は、同じコード スニペットと Web フォームのスタイルの一部です。



<style>
.formData {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 10px;
background-color: darkcyan;
}
form {
font-size: 30px;
}
form input {
margin-left: 10px;
font-size: 15px;
}
</style>


<div class="formData">
<form action="#">
Name: <input type="text" name="name" required>
<input type="submit">
</form>
</div>

つまり、「名前」として入力データ フィールドが 1 つだけある、非常に単純な Web フォームがあります。 input タグ要素で必須のキーワードを使用していることに注意してください。

出力:

HTML フォームの検証

名前フィールドに値を入力せずにフォームを送信してみましょう。送信すると、「このフィールドに記入してください」というエラー メッセージが表示され、フォームは送信されません。

空のデータを含む出力:

HTML フォームの検証

したがって、エラー メッセージは私たちが追加したものではなく、HTML 自体によって提供されていることがわかります。

HTML で提供される required 属性と同様に、使用できるさまざまな form タグがあります。以下はいくつかのフォーム検証タグのリストです。

  • minlength: 要素の必要な最小長を設定するために使用されます
  • maxlength: 要素の必要な最大長を設定するために使用されます
  • パターン: 正規表現の定義に使用されます

2. JavaScript の使用

JavaScript は、検証ルールをカスタマイズおよび設定するためのより多くの方法を提供するため、HTML フォーム検証に広く使用されています。また、HTML5 で提供されているタグの一部は、古いバージョンの Internet Explorer ではサポートされていません。 JavaScript はフォームの検証に長い間使用されています。

JavaScript フォーム検証では、基本的に、データをサーバーに送信する前にデータを検証する関数を定義します。検証ルールを達成するために必要なロジックを実装できます。 JavaScript はルールの定義に制限がないため、この点でより柔軟です。ただし、組み込みタグを使用したフォーム検証と比較して、これを実装するには JavaScript を理解する必要があります。

JavaScript を使用したフォーム検証の例を見てみましょう。 name 要素として入力を 1 つだけ使用して、同じフォームの例を実装します。



<style>
.formData {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 10px;
background-color: darkcyan;
position: absolute;
width: 100%;
}
form {
font-size: 30px;
}
form input {
margin-left: 10px;
font-size: 15px;
}
.errorMessage {
background-color: white;
width: 143px;
padding-left: 10px;
padding-right: 10px;
padding-top: 5px;
padding-bottom: 5px;
margin-left: 107px;
visibility: hidden;
border-radius: 10px;
position: relative;
float: left;
}
.errorMessage.top-arrow:after {
content: " ";
position: absolute;
right: 90px;
top: -15px;
border-top: none;
border-right: 10px solid transparent;
border-left: 10px solid transparent;
border-bottom: 15px solid white;
}
</style>


<div class="formData">
<form name="simpleForm" action="#" onsubmit="return validateForm()">
Name: <input type="text" name="name">
<input type="submit">
</form>
<p class="errorMessage top-arrow"> </p>
</div>
<script>
function validateForm() {
var nameVal = document.forms["simpleForm"]["name"].value;
if(nameVal == null || nameVal == "") {
document.getElementsByClassName( "errorMessage" )[0].style.visibility = "visible";
document.getElementsByClassName( "errorMessage" )[0].innerHTML = "Please Fill out this field";
return false;
} else {
return true;
}
}
</script>

前の例から、フォーム要素「name」から必須のタグを削除しました。代わりに、form 要素に onsubmit タグを 1 つ追加しました。前に述べたように、<script> を使用する検証用の関数を作成します。タグが追加されました。</script>

検証を行う validateForm() という名前の関数を作成しました。名前フィールドに入力されたデータが空白かどうかをチェックする同じルールを実装しています。これをチェックするロジックは、送信ボタンをクリックするとこの関数が呼び出され、入力された値が null か空白かどうかチェックされます。データが null または空白でない場合、関数は true を返しますが、データが空白または null の場合、エラー メッセージがユーザーに表示されます。

出力:

HTML フォームの検証

データを何も入力せずにフォームを送信しようとすると、画面にエラー メッセージが表示されるはずです。例からわかるように、可能な限り同じ方法でエラー メッセージを設計しました。

空のデータを含む出力:

HTML フォームの検証

結論 - HTML フォームの検証

クライアント側でのフォーム検証の非常に単純な例を見てきました。 HTML フォーム検証を実行するには主に 2 つの方法があります。 1 つ目は HTML5 で提供される組み込み機能を使用する方法で、2 つ目は JavaScript を使用する方法です。最初の方法を使用すると、追加のコードを記述する必要がありません。

以上がHTML フォームの検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLドキュメントのルートタグは何ですか?HTMLドキュメントのルートタグは何ですか?Apr 29, 2025 am 12:10 AM

Theroottaginanhtmldocumentis.itservesStop-levellementThateChationCothercontent、ProperDocumentsTurcuteRuctureAndBrowsingを保証します。

HTMLタグと要素は同じものですか?HTMLタグと要素は同じものですか?Apr 28, 2025 pm 05:44 PM

この記事では、HTMLタグは要素を定義するために使用される構文マーカーであり、要素はタグやコンテンツを含む完全なユニットであると説明しています。彼らは協力してWebPages.Characterカウントを構築するために協力します:159

&lt; head&gt;の重要性は何ですかおよび&lt; body&gt; HTMLのタグ?&lt; head&gt;の重要性は何ですかおよび&lt; body&gt; HTMLのタグ?Apr 28, 2025 pm 05:43 PM

この記事では、&lt; head&gt;の役割について説明します。および&lt; body&gt; HTMLのタグ、ユーザーエクスペリエンスへの影響、およびSEOの影響。適切な構造化により、ウェブサイトの機能と検索エンジンの最適化が強化されます。

&lt; strong&gt;&lt; b&gt;の違いは何ですかタグと&lt; em&gt;&lt; i&gt;タグ?&lt; strong&gt;&lt; b&gt;の違いは何ですかタグと&lt; em&gt;&lt; i&gt;タグ?Apr 28, 2025 pm 05:42 PM

この記事では、HTMLタグの違いについて説明します。、、、、、、、およびプレゼンテーションの使用とSEOとアクセシビリティへの影響に焦点を当てています。

HTMLのドキュメントで使用されている文字セットを示す方法を説明してください。HTMLのドキュメントで使用されている文字セットを示す方法を説明してください。Apr 28, 2025 pm 05:41 PM

記事では、UTF-8に焦点を当てたHTMLでのキャラクターエンコーディングの指定について説明します。主な問題:テキストの正しい表示を確保し、文字化けされたキャラクターの防止、SEOとアクセシビリティの強化。

HTMLのさまざまなフォーマットタグは何ですか?HTMLのさまざまなフォーマットタグは何ですか?Apr 28, 2025 pm 05:39 PM

この記事では、Webコンテンツの構築とスタイリングに使用されるさまざまなHTMLフォーマットタグについて説明し、テキストの外観に対する影響とアクセシビリティとSEOのセマンティックタグの重要性を強調しています。

「ID」属性とHTML要素の「クラス」属性の違いは何ですか?「ID」属性とHTML要素の「クラス」属性の違いは何ですか?Apr 28, 2025 pm 05:39 PM

この記事では、HTMLの「ID」属性と「クラス」属性の違いについて説明し、一意性、目的、CSS構文、および特異性に焦点を当てています。それらがWebページのスタイリングと機能にどのように影響するかを説明し、のベストプラクティスを提供する

HTMLの「クラス」属性とは何ですか?HTMLの「クラス」属性とは何ですか?Apr 28, 2025 pm 05:37 PM

この記事では、スタイリングとJavaScriptの操作の要素をグループ化するHTML「クラス」属性の役割を説明し、一意の「ID」属性とは対照的です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)