クライアント側のフォーム検証
クライアントフォームの検証は重要です。時間と帯域幅を節約し、フォームに記入するときにユーザーが間違いを犯す場所を指摘するためのより多くのオプションを提供します。そうは言っても、これはサーバー側の確認を必要としないという意味ではありません。あなたのウェブサイトにアクセスするユーザーは、古いブラウザまたは無効なJavaScriptを使用している可能性があります。クライアントとサーバー側の検証は互いに補完されるため、実際に独立して使用するべきではありません。
なぜクライアント検証が重要なのですか?
クライアント認証を使用する2つの理由があります:
-
これはすぐに確認する方法です。何かがうまくいかない場合、フォームが送信されるとアラートがトリガーされます。
-
一度に1つのエラーのみを安全に表示し、間違ったフィールドに焦点を合わせて、ユーザーが必要なすべての詳細を正しく記入できるようにすることができます。
2つの主要な検証方法
クライアントフォームの検証の2つの主な方法は次のとおりです。
- 一度にエラーを表示し、問題のあるフィールドに焦点を合わせます
- すべてのエラーを同時に表示すると、サーバー側の検証スタイル
これらの利点を考えると、一度に1つのエラーを示す検証方法のみに焦点を当てます。
フォームを確認する方法
たとえば、
次のコードスニペット:
<code><br> function validateMyForm() { <br> if (parseInt(document.forms[0].phone.value) <br> != document.forms[0].phone.value) { <br> alert('请输入电话号码,仅限数字'); <br> return false; <br> } <br> <br> return true; <br> } <br> <br><br></code>
何が問題なのですか?まあ、これの前に別のフォームを追加すると、コードは間違ったフォームを検証しようとします。
より良い方法は、フォーム名を含めることです:
<code>function validateMyForm() { <br> if (parseInt(document.forms.myForm.phone.value) <br> != document.forms.myForm.phone.value) { <br><br></code>
フォーム名を削除しましょう:
<code>function validateMyForm(form) { <br> if (parseInt(form.phone.value) != form.phone.value) { <br><br></code>
訪問者の生活を今より楽にするにはどうすればよいですか?エラーを自分で調べるのではなく、エラーをトリガーするフィールドに焦点を当てましょう。
<code>function validateMyForm(form) { <br> if (parseInt(form.phone.value) != form.phone.value) { <br> alert('请输入电话号码,仅限数字'); <br> form.phone.focus(); <br> form.phone.select(); <br> return false; <br> }</code>
わかりました、これは素晴らしいですが、各フィールドにコードが多すぎると思いますか?ページに多くのタイピングとダウンロード時間を節約できる単純な機能のライブラリを作成した場合はどうなりますか?さて、次にこれを行います - 検証コードを短くするために基本的な関数を定義します。
<code><br> function validateMyForm() { <br> if (parseInt(document.forms[0].phone.value) <br> != document.forms[0].phone.value) { <br> alert('请输入电话号码,仅限数字'); <br> return false; <br> } <br> <br> return true; <br> } <br> <br><br></code>
この関数は、数字の単純な検証を実行します - フィールドに数値のみが含まれているかどうか、およびそれが特定の範囲内にあるかどうかをチェックします。このコードがパラメーターとしてエラーメッセージを渡すことに気付くでしょう。このような関数を使用するには、基本的に次のように監督ハンドラーに追加できます。
<code>function validateMyForm() { <br> if (parseInt(document.forms.myForm.phone.value) <br> != document.forms.myForm.phone.value) { <br><br></code>
「電話番号を入力してください、数値のみ」、5、10);
数値を検証する別の方法は、特定の範囲内にあることを要求することです。関数にそのような検証を実行させるには、チェックラインを次のように変更するだけです。
複数のチェックをフォームに適用する場合は、OnSubmitハンドラーに複数のルールを埋め込むことができます。たとえば、電話番号に加えて、姓と姓も入力する必要があると想像してください。
<code>function validateMyForm(form) { <br> if (parseInt(form.phone.value) != form.phone.value) { <br><br></code>
validAtenumber(this.phone、 '電話を入力してください
番号、数字のみ '、5、10)&&<code>function validateMyForm(form) { <br> if (parseInt(form.phone.value) != form.phone.value) { <br> alert('请输入电话号码,仅限数字'); <br> form.phone.focus(); <br> form.phone.select(); <br> return false; <br> }</code>
を入力してください
あなたの名前 '、3、15)&&
validAtestring(this.lastname、 '入力してください
あなたの姓 '、3、15)
); "&gt;コードでは、すべての検証ルールをtrueとして評価する必要があります(ロジックと - &&を使用)。詳細な見方は、サーバースクリプト言語からそのようなコードを生成するのが非常に簡単であることを示しています...しかし、これは別の記事です。
ご覧のとおり、文字列検証関数は多かれ少なかれ同じように見えます。
ウェブ上の多くの形式、つまりユーザーのメールアドレスで共通のフィールドが必要です。私はこれを行う多くの機能を見てきましたが、通常、電子メールアドレスを検証する最も簡単で簡単な方法は、正規表現を使用することです。
<code>function validateNumber(field, msg, min, max) { <br> if (!min) { min = 0 } <br> if (!max) { max = 255 } <br> <br> if ( (parseInt(field.value) != field.value) || <br> field.value.length max) { <br> alert(msg); <br> field.focus(); <br> field.select(); <br> return false; <br> } <br> <br> return true; <br> }</code>
必要なメールを確認するには、次のように呼び出す必要があります。
オプションに設定する場合:
<code></code>
JavaScriptを検証だけに使用することはできませんが、持っている場合は非常に役立ちます。 HTMLに埋め込んだコードをコンパクトになればなるほど、ダウンロード時間を節約し、検索エンジンがあなたのようになります!
<code>if ((parseInt(field.value) != field.value) || <br> field.value max) {</code>
に関するよくある質問
クライアント検証とサーバー側の検証の違いは何ですか?<code></code>
一方、フォームデータを送信した後、サーバー側の検証がサーバーで実行されます。ユーザーがバイパスできないため、より安全です。ただし、パフォーマンスやユーザーエクスペリエンスに影響を与える可能性のあるサーバーへの往復が必要です。したがって、最高のセキュリティとユーザーエクスペリエンスのために、クライアントとサーバー側の両方の検証を使用することをお勧めします。
PHPでフォーム検証を実装する方法は?
PHPは、さまざまなフォーム検証関数を提供します。たとえば、さまざまなフィルターを使用してFilter_Var()関数を使用して、入力データを検証およびクリーニングできます。これがメールアドレスを確認する簡単な例です。
$ email = $ _post ["email"]; if(!filter_var($ email、filter_validate_email)){ エコー「無効な電子メール形式」; } このコードは、送信された電子メールアドレスが正しくフォーマットされているかどうかを確認します。そうでない場合は、エラーメッセージが表示されます。
いくつかの一般的な検証手法は何ですか?
いくつかの一般的な検証手法には、必要なフィールド、長さの制限、パターンマッチング、およびデータ型チェックが含まれます。必要なフィールドは、ユーザーが必要なすべての情報を入力することを保証します。長さの制限は、入力できる文字の数を制限します。パターンマッチは、入力が電子メールアドレスや電話番号などの特定のパターンと一致するかどうかを確認します。データ型チェックにより、入力が数字や日付などの正しいタイプであることが保証されます。
検証エラーメッセージを表示する方法は?
JavaScriptを使用して、PHPを使用してクライアント検証またはサーバー側の検証を使用して検証エラーメッセージを表示できます。 JavaScriptでは、setCustomValisit()メソッドを使用して、カスタム検証メッセージを設定できます。 PHPでは、変数にエラーメッセージを保存して、フォームに表示できます。
チェックボックスを確認する方法は?
チェックボックスが選択されているかどうかを確認して、チェックボックスを確認できます。 JavaScriptでは、チェックされたプロパティを使用できます。 PHPでは、チェックボックスの値が$ _POSTまたは$ _GETで表示されるかどうかを確認できます。
ドロップダウンリストを確認する方法は?
有効なオプションが選択されているかどうかを確認して、ドロップダウンリストを確認できます。 JavaScriptでは、SelectedIndexプロパティを使用できます。 PHPでは、選択した値が有効な値の配列にあるかどうかを確認できます。
ラジオボタンを検証する方法は?
オプションのいずれかが選択されているかどうかを確認して、ラジオボタンを確認できます。 JavaScriptでは、ラジオボタンをループして、チェックされたプロパティを使用できます。 PHPでは、無線ボタンの値が$ _POSTまたは$ _GETで表示されるかどうかを確認できます。
日付を確認する方法は?
日付が正しくフォーマットされているかどうか、実際の日付であるかどうかを確認して、日付を確認できます。 JavaScriptでは、日付オブジェクトを使用できます。 PHPでは、checkdate()関数を使用できます。
ファイルアップロードを検証する方法は?
ファイルのサイズ、ファイルの種類、ファイル拡張子をチェックして、ファイルのアップロードを確認できます。 JavaScriptでは、ファイルプロパティを使用できます。 PHPでは、$ _filesアレイを使用できます。
SQL注射を防ぐ方法は?
前処理されたステートメントまたはSQLコードをデータから分離するパラメーター化されたクエリを使用して、SQLインジェクションを防ぐことができます。これにより、データがコードとして解釈されるのを防ぎます。 PHPでは、PDOまたはMySQLI拡張機能を使用して、プレ処理ステートメントを実行できます。
以上がクライアント側のフォーム検証の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
