5.メッセージ ページの作成 ---- データ検証コントロールとデータの追加
関連紹介:
ウェブサイトにはデータの正確性が求められます。ユーザーが入力したデータが正しいかどうかをより簡単に検証するために、ASP.NET はプログラマにデータ検証コントロールを提供します。 ASP.NET によって提供されるデータ検証コントロールには次のものがあります。 (注: コードを表示するために、次のすべてのコードには「<」の後と「>」の前にスペースが含まれています。ご不便をおかけして申し訳ありません。):
制御 | 関数 |
RequiredFieldValidator は、 | 入力フィールドにデータが入力されているかどうかを確認します。 |
RangeValidator |
は、 | 入力フィールドに入力されたデータが特定の範囲内にあるかどうかを確認します。 |
入力フィールドが等しい、等しくない、より大きい、未満でない、または未満であるかどうかをテストします。 |
Validationsummary | には、テストに失敗したすべてのコントロールがリストされます。 |
正規表現バリデータ | 列が正規表現ルールに準拠しているかどうかを確認する |
CustomValidator | カスタム検証ルール |
STEP 1 デザインページ<BR>まずテーブルを使って大まかな枠組みをデザインします。データベース内の COMMENTS テーブルには次のものが含まれているため、
【図5-1 データベースの枠組み】
COMMENT_ID (自動番号)、FIRST_NAME (テキスト)、LAST_NAME (テキスト)、TELEPHONE (テキスト)、EMAIL (テキスト)、SUBMIT_DATE (日付/時刻)、COMMENTS (メモ)、ANSWERED (ブール値) およびその他のフィールド。ニーズに応じて、サイト内に次のような reg.aspx という名前のページを設計しました。
[図5-2 最初のページ]
このうち、COMMENT_IDはACCESSにより自動で追加でき、ANSWEREDはユーザーが追加する必要はありません。 SUBMIT_DATE のデフォルト値は Now() に設定されており、ACCESS は追加されたレコードの日付を自動的に書き込みます。
前の ASP ページでは、次のように渡すことができます。
データを入力するための入力ボックスを設定します。 ASP.NET には、データを受け入れるためのテキストボックス コントロールがあります。構文は次のとおりです。
< asp:textbox id=”…” runat=”server” その他の属性/ >
DreamweaverMX では、次のようにクリックできます。テキストボックスコントロールを追加するショートカットボタン。ポップアップ ダイアログ ボックスで、ID、テキスト モード (ダイアログ ボックスの種類)、ツール チップ (マウスがコントロール上にあるときのプロンプト)、レイアウト (スタイル デザイン)、およびスタイル情報 (入力の設定に使用されます) を設定します。テキスト形式とテキストボックスの境界線)) を使用してコントロールを設定します。下の図はテキストボックスの設定ダイアログボックスです。
[図5-3 テキストボックス設定ダイアログ1]
[図5-4 テキストボックス設定ダイアログ2]
[図5-5 テキストボックス設定ダイアログ3]
データ項目COMMENTは大量のテキストを入力する必要があるため、複数行の入力が可能なテキストボックスを使用する必要があります。テキスト モードを MultiLine に設定し、希望の行数 (Rows) を入力するだけです。
追加したイベントを生成するにはボタンも必要です。 「フォーム」タブをクリックし、「ボタン」ボタンをクリックして追加します。
STEP2データ検証の利用
First_name、Last_name、電話番号、および電子メールは入力する必要があるため、ユーザーが入力を忘れることを防ぐために、コントロールを検証するための RequiredFieldValidator コントロールを追加できます。検証エラーが発生した場合、コントロールは検証に失敗したコンテンツをその場所に表示するため、データ検証コントロールは適切な場所に配置する必要があります。
RequiredFieldValidator データ検証の制御構文は次のとおりです。
< asp:RequiredFieldValidator のその他の属性 runat="server" >エラー メッセージ</ asp:RequiredFieldValidator >
または
< asp:RequiredFieldValidator ErrorMessage="エラー メッセージ" その他の属性 runat="server"/ >
[その他のタグ] をクリックした後、[ASP.NET タグの検証サーバー] を選択すると、さまざまな種類のデータ検証コントロールから選択できることがわかります。 First_name 入力ボックスの後ろに検証コントロール asp:RequiredFieldValidator を追加する必要があります。
RequiredfieldValidator コントロール設定ウィンドウで、[検証するコントロール] はこのデータ検証コントロールに関連付けられた入力コントロールの ID であり、[エラー メッセージ] はデータ検証が失敗したときに表示されるメッセージです。同時に、レイアウトとスタイル情報を設定することで、必要なスタイルを選択できます。
[図5-6 検証コントロールの選択]
[図5-7 RequiredfieldValidatorコントロールの設定ダイアログボックス]
同時に、同じメソッドを使用して別の RequiredFieldValidato データ検証コントロールを Last_Name 入力ボックスの後ろに追加します。これで、ページを保存してプレビューできるようになりました。 First_name および Last_name 入力ボックスにデータが入力されていない状態で [送信] ボタンをクリックすると、検証失敗のメッセージが表示されます。図 5-8 に示すように。
ただし、多くの場合、郵便番号は 6 桁である必要があり、入力された電子メール アドレスは特定の形式である必要があるなど、有効なデータを検証する必要があります。ここでは、 RegularExpressionValidator を使用してデータの有効性を検証する必要があります。この登録ページでは、電話と電子メールの両方でこのコントロールを認証に使用できます。
[図5-8 RequiredfieldValidatorダイアログボックス]
[図5-9 メール設定のプロパティ]
RequiredfieldValidator 検証コントロールを追加する方法と同様に、[その他のタグ..] をクリックしてデータ検証コントロールの追加を選択します。違いは、検証式の設定です。電話機は7~10桁を入力する必要があるため、次のように設定する必要があります。
[0-9]{7,10}
その構文は次のとおりです。
[]: 許容される文字を定義するために使用されます。たとえば、az は小文字の 'a' ~ 'z' が許容される文字であることを意味し、a-zA-Z はすべての文字が許容されることを意味し、0 ~ 9 はすべての文字が許容されることを意味します。番号。
{}: 入力する必要がある文字数を定義するために使用されます。{7,10} は 7 ~ 10 文字を入力できることを意味し、{0,} は 0 ~無制限の文字を受け入れることができることを意味します。
「.」:任意の文字を入力することを示します。 .{0,} は、0 から無制限の任意の数の文字が受け入れられることを意味します。
|: OR (または) を示します。たとえば、[A-Za-z]{3}|[0-9]{3} は、3 つの英字または 3 つの数字を受け入れることができることを意味します。
(): 読みやすくするために、記号を含む文字列は通常 () で囲まれます。たとえば、([A-Za-z]{3}|[0-9]{3})。
: []、{}、()、| などの特殊記号が含まれる場合は、これらの文字列の前に を追加する必要があります。
以下に、より一般的に使用される例をいくつか示します。
メール: .{1,}@.{1,}/..{1}
電話番号 (市外局番を含む): ([0-9]{3,4}))[0-9]{7,8}
ユーザー入力が実際のデータであるという保証はありませんが、検証コントロールによって形式が正しいことを確認できます。
[図5-10 プレビューページ]
CompareValidator コントロールの場合、そのプロパティは次のように設定されます。
比較するコントロールは | 、比較されるコントロールを設定します | 。 検証するコントロールは、
関連付けられているコントロールを設定します | 。 |
比較する値 比較する値を | 設定します 演算子 |
比較 | 関係を設定します(等しい、等しくない、以上、以上、未満、以下) |
タイプ | 比較データ型 |
エラー メッセージが | 情報を表示します |
[図 5-11 CompareValidator 設定ダイアログボックス]
CustomValitor の設定方法は他のコントロールと同様ですが、データを検証するには手書き関数 OnServerValidate (Events 内) が必要です。
[図5-12CustomValitor設定ダイアログボックス]
例えば
< asp:CustomValidator id="CusValid" runat="server" ControlToValidate=コントロール名 OnServerValidate="TheFunction" >エラー メッセージ</ asp:CustomValidator >
<script language=”vb” runat=”server” >
関数 TheFunction(オブジェクトとして送信者、文字列として値) ブール値として
……
戻る…
終了機能
</ /スクリプト >
このコントロールは TheFuncion 関数を呼び出します。 false が返された場合、エラー メッセージが報告されます。
RangeValidator コントロール
[図5-12 RangeValidatorr設定ダイアログボックス]
最小値と最大値を使用して値の範囲を設定できます。同時に、「文字列」、「整数」などの「タイプ」を通じて比較タイプを設定できます。他の設定は他のコンポーネントの設定と同様です。
Validationsummary というコンポーネントもあります。このうち、HeaderText はヘッダー テキストを設定し、DisplayMode は表示モードを設定します。その具体的なプロパティは次のとおりです。
属性値の | 意味 |
List BulletList SingleParagraph | ErrorMessageは別の行に表示されます。 ErrorMessageは 同じ行に表示されます。 |
[図5-13 Validationsummaryプロパティ設定ダイアログボックス]
主要なプログラム セグメントのソース コードを添付します。
< table width="75%" height="594" border="1" cellpadding="1" cellpacing="0" bordercolor="#999999" >
<tr>
< td width="22%" height="22" >名</td >
< td width="38%" >< asp:textbox BackColor="#CCCCCC" ForeColor="#0033FF" ID="first" runat="server" TextMode="SingleLine" ToolTip="名を入力してください" MaxLength ="40" BorderWidth="1" width="200"/ >< /td >
< td width="40%" >< asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="first" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="validname" runat="server" / > < /td >
< /tr >
<tr>
< td height="22">姓</ td >
< td >< asp:textbox BackColor="#CCCCCC" ForeColor="#0033FF" ID="Lastname" runat="server" TextMode="SingleLine" width="200" ToolTip="姓を入力してください" BorderWidth= "1"/ >< /td >
< td >< asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="Lastname" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="vailLast" runat="server" / > </ /td >
< /tr >
<tr>
< td height="22" >電話</td >
< td >< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0066FF" ID="telephone" runat="server" TextMode="SingleLine" ToolTip="電話番号を入力してください" width=" 200" / >< /td >
< td > < asp:normalexpressionvalidator BackColor="#CCCCCC" ControlToValidate="telephone" ErrorMessage="7 ~ 10 個の数字が必要です" ForeColor="#FF0000" ID="vailtel" runat="server" ValidationExpression="[0-9] ]{7,10}" / > < asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="telephone" ErrorMessage="RequiredField" ForeColor="#FF0000" ID="vailtel2" runat="server" / >< /td >
< /tr >
<tr>
< td height="22" >メール</td >
< td >< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0033FF" ID="email" runat="server" TextMode="SingleLine" ToolTip="電子メールを入力してください" 幅="200"/ >< /td >
< td >< asp:normalexpressionvalidator BackColor="#CCCCCC" ControlToValidate="email" ErrorMessage="電子メール アドレスを無効にする" ForeColor="#FF0000" ID="valiemail" runat="server" ValidationExpression=".{1,}@ .{3,}" / > < asp:requiredfieldvalidator BackColor="#CCCCCC" ControlToValidate="email" ErrorMessage="必須フィールド" ForeColor="#FF0000" ID="valiemail2" runat="server" / > < /td >
< /tr >
<tr>
< td height="22"colspan="3" >< div align="center" >コメント</div >< /td >
< /tr >
<tr>
< td height="188"colspan="3" >< div align="center" >
< asp:textbox BackColor="#CCCCCC" BorderWidth="1" ForeColor="#0033FF" ID="Comments" Rows="16" runat="server" TextMode="MultiLine" ToolTip="コメントを入力してください" width ="400"/ >
< /div >
< div align="center" > < br >
< /div >< /td >
< /tr >
<tr>
< td height="71"colspan="3" >< div align="center" >
< asp:validationsummary BackColor="#CCCCCC" DisplayMode="BulletList" ForeColor="#FF0000" HeaderText="不正なコンテンツには次のものが含まれます:" ID="valSum" runat="server" ToolTip="Error" / >
< /div >< /td >
< /tr >
<tr>
< td height="22" Colspan="3" >< input type="submit" name="Submit" value="Submit" >
</ /td >
< /tr >
< /table >
スタイルは次のとおりです。
[図5-14 プレビュー]
STEP3 データ追加
データを追加する機能に関しては、ウィザードを通じてデータを追加する機能を設定し、DreamweaverMX に自動的にコードを追加させることができます。 「アプリケーション」の「サーバー動作」タブをクリックし、「+」ボタンをクリックして「レコードの挿入」を選択します (図 5-15)。
ポップアップ ダイアログ ボックスで、まず接続されているデータ ソースを決定する必要があります。リストに見つからない場合は、「定義」ボタンをクリックしてデータ ソースを設定できます (図 5-16)。 [テーブルへの挿入] は、データを追加するテーブルを設定するために使用されます。列では、テキスト ボックスを対応するデータ ソースと照合し、データ型を設定できます。成功すると、Go To はデータが正常に追加された場合にジャンプするページを設定します。 [失敗時] では、データの追加が失敗した場合にジャンプするページを設定できます。同時に、[失敗時にデバッグ情報を表示] を選択して、データの追加が失敗したときに表示されるエラー メッセージを設定することもできます。
[図 5-15 レコードの挿入の選択]
[図5-16 データ追加設定]
追加されたコードを見てみましょう。
<MM:挿入
runat="サーバー"
CommandText='< %# "コメント (コメント、電子メール、名、姓、電話) 値 (?、?、?、?、?) に挿入" % >'
ConnectionString='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_location") % >'
DatabaseType='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_location") % >'
式='< %# Request.Form("MM_insert") = "form1" % >'
CreateDataSet = "false"
SuccessURL='< %# "index.htm" % >'
FailureURL='< %# "reg.aspx" % >'
デバッグ = "true"
>
<パラメータ>
< パラメータ名="@COMMENTS" 値='< %# IIf((Request.Form("コメント") < > Nothing), Request.Form("コメント"), "") % >' Type="WChar" />
< パラメータ名="@EMAIL" 値='< %# IIf((Request.Form("email") < > Nothing), Request.Form("email"), "") % >' Type="WChar" />
< パラメータ名 = "@FIRST_NAME" 値 = '< %# IIf((Request.Form("first") < > Nothing), Request.Form("first"), "") % >' Type="WChar" />
< パラメータ名 = "@LAST_NAME" 値 = '< %# IIf((Request.Form("姓") < > Nothing), Request.Form("姓"), "") % >' Type="WChar" />
< パラメータ名="@TELEPHONE" 値='< %# IIf((Request.Form("電話") < > Nothing), Request.Form("電話"), "") % >' Type="WChar" />
< /パラメータ >
< /MM:挿入>
MM: Insert は、Dreamweaver がデータベースを追加するために使用するラベルであり、Parameter は、パラメーターを指定するために使用される値です。
前のコードは、追加が成功した後にデータベース リンクとジャンプ先のページを指定するために使用され、追加が失敗した場合は、関連するテーブルとともにエラー メッセージが表示されます。
これらは MacroMedia 自体によって開発されており、Macromedia の一部のコンポーネントによるサポートが必要です。今日のインターネット上の多くの ASP.net の標準コード形式とは異なります。コードを参照する際には、このコードをベースとした ASP.net の標準コード形式を誤解しないようにしてください。標準コード形式については、www.gotdotnet.com を参照してください。標準コードを記述したい場合は、WebMatrix を使用できます。ダウンロード アドレス: http://www.asp.net/webmatrix/download.aspx?tabindex=4