今日のビジネスウェブサイト、またはユーザーの登録など、これらのフォームの埋めることは明らかに制御されます。私はコードを書くことは興味深い仕事であることを認めますが、フォームを確認するたびに、私たちの作業効率を改善したいと考えています。
他のいくつかの理由に基づいて、Webアプリケーションはユーザーの入力を確認することが困難です。コード、安全を確保するためにサーバーを検証する必要があります。
以下は、手書きのコードを制御しているコマーシャルウェブサイトのフォームの検証を制御します。
1.エラー情報またはアイコンは多くの場合、入力要素に隣接していますが、ほとんどの場合、テーブルの異なるセルにあります。
2。多くの場合、すべてのエラーを要約する領域があります。
3.多くのサイトには、サーバー間の往復を防ぎながら、より高速なフィードバックを提供するクライアントスクリプトが含まれています。
4.クライアントスクリプトを含む多くのサイトは、エラーが発生したときに情報ボックスを表示します。
5.テキスト入力が検証されるだけでなく、ドロップダウンリストとラジオボタンも検証されます。
6.フィールドが空の場合、サイトは通常、無効なときに異なる情報またはアイコンを表示します。
7.多くの効果的な試験は、一般的に使用される表現によく置き換えることができます。
8。検証は通常、2つの入力間の比較結果に基づいています。
9.90%または90%を超える検証タスクは、名前や郵便コーディングなどの一般的な操作です。ほとんどのサイトはまだこれらのタスクを繰り返しているようです。
10。通常、サイト間の違いは大きすぎるため、各サイトのすべての検証タスクを処理するための完璧なソリューションを取得することはできません。
同僚に非常に「クールな」方法があることを確認したい場合は、ASP.NETを選択して、以下のチュートリアルをご覧ください。
ASP.NETは、フォーム検証のフォーム検証を処理します
1。ASPXファイルがコンパイルされ、実行されます
2。ユーザー入力データ
3. page_loadイベントのトリガー
4.入力がない場合にWebコントロール属性を変更し、プロンプト
5。HTMLを使用してページをユーザーにエクスポートします
6.ユーザーにもう一度入力するように思い出させます
page_loadプロセス
ページオブジェクトには、サーバー側の検証に関連するいくつかの重要な属性とメソッドが含まれます。次の表には、page_loadプロパティのすべてのコレクションとメッツを示します。
page_loadメソッド名の説明
ISVALID(最も頻繁に使用される)が最も有用な属性です。この属性は、フォーム全体が効果的かどうかを確認できます。このチェックは通常、データベースを更新する前に実行されます。バリデーターのすべてのオブジェクトのみが有効であり、属性は真であり、値はキャッシュに保存されません。
このページのすべての検証オブジェクトのコレクションをバリデーター。これは、ivalidatorインターフェイスを実装するオブジェクトのコレクションです。
検証で検証と呼ばれるメソッド。ページオブジェクトのデフォルトの実行方法は、各検証デバイスに頼り、検証デバイスが自体を評価する必要があることです。
フォームの検証装置を確認するために使用されます(Webコントロール)
必要なfieldvalidatorユーザーがコンテンツを入力するか選択したかを確認しました
RegulalXpressionValidatorは、ルールに従ってユーザーの入力をチェックします。このプロセスにより、多くの種類の試験を郵便コーディングおよび電話番号に使用できます。
CompartValidatorは、入力コントロールを1つの固定値または別の入力コントロールと比較します。たとえば、パスワード検証フィールドで使用できます。また、日付と数字の入力を比較するために使用することもできます。
riencevalidatorはCompareValidatorに非常に似ていますが、入力が2つの入力制御値の間であるかどうかを確認するために使用されます
CustomValidatorを使用すると、ユーザーは独自のコードを作成して検証フレームワークに参加できます。
例説明上記のコントロールの動作
最小化された.aspxページを構築します。ゴージャスな変更効果は必要ありません。
<p>新しいユーザーIDとパスワードを入力してください</p>
<form runat = server>
<表>
<tr>
<td>ユーザーID </td>
<td> <入力タイプ=テキストrunat = server id = txtname> </td>
</tr>
<tr>
<td> polar </td>
<td> <入力タイプ=パスワードrunat = server id = txtpword> </td>
</tr>
<tr>
<td>パスワードを再入力してください</td>
<td> <入力タイプ=パスワードrunat = server id = txtrepword> </td>
</tr>
<tal> <br>
<入力タイプ=送信runat = server id = cmdsubmit value = submit>
</form>
このプログラムは非常に厳しいものなので、すべてのアイテムが記入されていることを強調しなければなりません。各フィールドの前に必要なFieldValidatorを追加します。フィールドが空の場合は、フィールドの前に星番号(*)を表示し、その横にあるエラーを報告する必要があります。
例えば:
<tr>
<td>
<ASP:必要なフィールドバリタレーターrunat = server
controltovalidate = txtname
ErrorMessage = "ユーザー名が必要です。
</asp:rebultivefieldvalidator>
</td>
<td>ユーザーID:</td>
<td> <入力タイプ=テキストrunat = server id = txtname> </td>
</tr>
コンテンツを入力せずに、「*」がラベルの横に表示されます。エラーニュースが表示されます。 「ControltoValidate」属性は、検証に必要なコントロールIDを指定します。最後のステップは、ページの上部にすべてのエラーを表示することです。
コード:
<asp:validationsummary runat = server headertext =このページにエラーがあります:/>
次に、ユーザーIDが6〜10文字である必要があり、パスワードは4〜12文字でなければならず、@#$%^&*/文字が必要です。
コード:ここでは、IDの長さに制限を追加しました。
<td>
<入力タイプ=テキストrunat = server id = txtname>
<asp:remolltpressionvalidator runat = server
controltovalidate = "txtname"
errormesage = "wanletsは6〜10文字で構成されている必要があります。」
validationXpression = "[a-za-z] {6,10}" />
</td>
次に、2つの入力のパスワードが同じかどうかを確認する必要があります。
<asp:remolltpressionvalidator runat = server display = dynamic
controltovalidate = "txtpword"
errormessage = "パスワードには@#$%^&*/。"のいずれかが含まれている必要があります。
validationExpression = "。*[@#$%^&* /] .*" />
<asp:remolltpressionvalidator runat = server display = dynamic
controltovalidate = "txtpword"
errormessage = "パスワードは4〜12の非ブランク文字でなければなりません。」
validationXpression = "[ /s {4,12}" />
<asp:comparevalidator runat = server
controltovalidate = txtrepword
controltocompare = txtpword
errormessage = "パスワードは一致しません
デフォルトでは、CompareValidatorは単純な文字列のマッチングと比較されます。必要に応じて、日付と数値を含むより複雑な比較を行うことができます。
注意が必要ないくつかの問題
スクリプトライブラリについて
Webコントロールスクリプトの検証はスクリプトライブラリにあるため、すべてのクライアントによって検証されたコードは、表面上で行われているように見えますが、ページに直接送信する必要はありません。メインスクリプトファイルの参照は、次のものに似ています。
<スクリプト言語= "javascript" src = "/_ aspx/1.0.9999/script/webuivalidation.js"> </script>
デフォルトでは、スクリプトファイルは「_aspx」ディレクトリのデフォルトのルートディレクトリにインストールされ、正の勾配で始まる比較的ルート化されたスクリプトに含まれるinstall inform to callがインストールされます。参照は、個々のオブジェクトがスクリプトライブラリを含める必要がなく、同じコンピューター上のすべてのページが同じファイルを参照できることを示しています。このパスには、異なるランタイムバージョンが同じコンピューターで実行できるように、このパスには一般言語バージョン番号もあることに気付くでしょう。
デフォルトの仮想ルートディレクトリを見ると、ファイルを見つけてコンテンツを表示します。これらのファイルの位置は、config.webファイルで指定されています。 config.webファイルは、ほとんどのASP+設定のXMLファイルです。以下は、このファイルの位置の定義です。
<webControls
clientscriptslocation = "/_ aspx/{0}/script/"
/>
詳細に発生するイベントを理解できるように、スクリプトを読むことをお勧めします。ただし、機能は特定のランタイムバージョンに密接にリンクされているため、これらのスクリプトを変更しないことをお勧めします。バージョンが更新されると、これらのスクリプトをそれに応じて更新する必要があります。特定のプロジェクトを変更する必要がある場合は、最初にこれらのスクリプトをバックアップしてから、プロジェクトをバックアップファイルに向けます。この方法は、プライベートconfig.webファイルを使用してこれらのファイルの位置を置き換えることです。文字列にフォーマット命令「{0}」が含まれている場合、バージョン番号は実行時に命令を置き換えます。この位置を相対的な参照または絶対的な参照に変更することが最善です。ウェブデザイン愛好家のWeb Developmentにアクセスしてください。