從這個實(shí)例開始將要以實(shí)例 75 中創(chuàng)建的數(shù)據(jù)庫及數(shù)據(jù)連接為基礎(chǔ),開發(fā)一家玩具公司的電子商務(wù)平臺。本實(shí)例將介紹如何在用戶注冊頁面中驗(yàn)證用戶注冊信息。
效果說明用戶通過“ uselogin.aspx ”注冊成為公司的客戶,如圖 76-1 所示,當(dāng)用戶提交注冊信息時,再由它對注冊信息進(jìn)行有效驗(yàn)證,如 76-2 所示,從而對公司的用戶注冊信息進(jìn)行管理。
創(chuàng)作構(gòu)思通過 ASP.NET 驗(yàn)證服務(wù)器控件,可以對用戶的注冊信息進(jìn)行驗(yàn)證。本實(shí)例需要用到實(shí)例 75 中創(chuàng)建的 Dreamweaver KH 表,如圖 76-3 所示。該數(shù)據(jù)表用于存儲用戶的注冊信息。用戶名(即 USENMAE )必須是惟一值,用戶注冊后一般被定義為非高級用戶(即 USEQL 字段被定義為“否”值),只有經(jīng)過公司管理員審核通過后,才會把用戶定義為高級用戶。如果還沒有通過公司管理員的審核,一般情況下 GLSC 字段都將定義為“否”,反之則定義為“是”。
操作步驟
步驟一設(shè)計(jì)基本頁面
( 2 ) 定義表單為 Server Form 。 由于 ASP.NET 控件必須添加在 Server Form 中,所以應(yīng)將表單定義為 Server Form ,具體操作如圖 76-5 所示。
提示:由于所有的 ASP.NET 控件必須添加到含有 runat="server" 的表單中,并且每一個 ASP.NET 頁面只能擁有一個 Server Form ,因此建議讀者養(yǎng)成一個習(xí)慣,就是在對 ASP.NET 進(jìn)行任何設(shè)計(jì)之前,首先為頁面添加一個 Server Form [如圖 76-5 中的步驟( 1 )、步驟( 2 )],在以后實(shí)例中將會詳細(xì)講解這方面的知識。
( 3 )插入表格并進(jìn)行樣式設(shè)置。參照以前的實(shí)例,在設(shè)計(jì)視圖中為“ uselogin.aspx ”頁面設(shè)計(jì)一個表格,并進(jìn)行相關(guān)樣式的設(shè)置,結(jié)果如圖 76-6 所示。
( 4 )為“客戶名稱”添加文本框。切換到【 ASP.NET 】快捷菜單欄,為“客戶名稱”添加文本框,設(shè)置 ID 為“ USENAME ”,如圖 76-7 所示。
提示:在圖 76-7 所示的步驟 3 中輸入 ID 為“ USENAME ”,這與將要存儲的 DreamweaverKH 表的相應(yīng)字段名“ USENAME ”是相同的。如果將 ASP.NET 控件的 ID 設(shè)置的與讀取 / 存儲字段名相同,則其程序執(zhí)行起來會更直接。下面的控件如沒特別說明,其 ID 都設(shè)置的與其將要存儲的字段名相同。
( 5 )添加并設(shè)置 ASP.NET 控件。繼續(xù)為用戶注冊信息添加文本框,并分別將 ID 設(shè)置的與相應(yīng)的字段名相同,結(jié)果如圖 76-8 所示。其中 “性別”所對應(yīng)的是下拉菜單,其列表項(xiàng)的設(shè)置如圖 76-9 所示;“確認(rèn)密碼”對應(yīng)的文本框的 ID 為“ USEPASS1 ”,設(shè)置“密碼”、“確認(rèn)密碼”所對應(yīng)文本框的“文本模式”為“密碼”,如圖 76-10 所示。
步驟二驗(yàn)證必填信息
( 1 )添加驗(yàn)證控件。將光標(biāo)移至文本框“ USENAME ”之后,添加驗(yàn)證控件 RequiredFieldvalidator ,如圖 76-13 所示。
( 2 )添加驗(yàn)證控件并填寫各項(xiàng)內(nèi)容。在彈出的【標(biāo)簽編輯器— RequiredFieldvalidator 】窗口中為文本框“ USENAME ”添加驗(yàn)證控件,并填寫各項(xiàng)內(nèi)容,如圖 76-14 所示。
( 3 )完成上一步操作后返回到【標(biāo)簽選擇器】對話框中,繼續(xù)為其他必填文本框添加 RequiredFieldvalidator 驗(yàn)證控件,具體方法參考以上操作,結(jié)果如圖 76-15 所示。
提示:確認(rèn)文本框“ USPASS1 ”沒有添加 RequiredFieldvalidator 驗(yàn)證控件,因?yàn)榭梢酝ㄟ^ CompareValidator 驗(yàn)證控件比較輸入的內(nèi)容是否與文本框“ USPASS ”相同。性別所對應(yīng)的下拉菜單“ USESIX ”由于只有“男”、“女”兩個選項(xiàng),所以沒有必要添加 RequiredFieldvalidator 驗(yàn)證控件,添加“ * ”只是為了讓用戶注意正確設(shè)置自己的性別。
步驟三密碼比較驗(yàn)證
( 1 )打開 【標(biāo)簽選擇器】對話框。 如果 目前【標(biāo)簽選擇器】對話框已打開,則選擇【 ASP .NET 標(biāo)簽】下的【驗(yàn)證服務(wù)器控件】,同時選擇【 asp : CompareValidator 】,單擊【插入】按鈕。如果目前還沒有打開【標(biāo)簽選擇器】對話框,則要先單擊【 ASP.NET 】快捷菜單欄上的【更多標(biāo)簽】按鈕。
( 2 )添加比較驗(yàn)證控件并設(shè)置。在彈出的【標(biāo)簽編輯器— CompareValidator 】窗口中為文本框“ USEPASS ”添加與“ USEPASS1 ”文本框的比較驗(yàn)證控件,相關(guān)設(shè)置如圖 76-16 所示。
( 3 ) 單擊【確定】按鈕,完成 CompareValidator 驗(yàn)證控件的添加。
步驟四驗(yàn)證電子郵箱
( 1 ) 插入【 asp : Regularexpressionvalidator 】。在【標(biāo)簽選擇器】對話框中選取【 ASP .NET 標(biāo)簽】下的【驗(yàn)證服務(wù)器控件】,并選擇【 asp : Regularexpressionvalidator 】,單擊【插入】按鈕。
( 2 )添加驗(yàn)證控件。 在彈出的【標(biāo)簽編輯器— Regularexpressionvalidator 】窗口中為文本框“ USEEMAIL ” 添加驗(yàn)證控件,如圖 76-17 所示。
該控件的驗(yàn)證表達(dá)式為 : \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 。
提示:這里的驗(yàn)證表達(dá)式,其實(shí)就是正則表達(dá)式。關(guān)于正則表達(dá)式的有關(guān)知識,請讀者參考有關(guān)資料以加深認(rèn)識。
( 3 ) 最后 保存“ uselogin.aspx ”,并在 IE 中進(jìn)行預(yù)覽。
本實(shí)例分別講解了服務(wù)器控件是否非空、服務(wù)器控件的比較、服務(wù)控件驗(yàn)證的自定義三種驗(yàn)證方法。如果要用設(shè)計(jì)更精細(xì)的服務(wù)器控件的驗(yàn)證,請讀者參考正則表達(dá)的有關(guān)知識,對服務(wù)控件驗(yàn)證進(jìn)行自定義。本實(shí)例操作完畢。