HOW TO:使用 Visual Basic .NET 的 ASP.NET 驗證控制項

文章翻譯 文章翻譯
文章編號: 316662 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

.NET Framework 包含各種不同的驗證控制項,當您將這些控制項放置在 ASP.NET Web Form 網頁上時,就可以驗證輸入控制項欄位的使用者輸入,並且顯示與每個控制項相關的錯誤訊息。本文將告訴您,如何使用 ASP.NET 驗證控制項,快速且輕鬆地實作使用者輸入的用戶端及伺服器端驗證。

需求

下面清單列出了建議使用的硬體、軟體、網路基礎架構以及所需安裝的 Service Pack:
  • Visual Studio .NET
  • Microsoft Internet Information Server (IIS) 5.0 或更新的版本
本文假設您已熟悉下列主題:
  • Web 應用程式
  • ASP.NET

使用 Visual Studio .NET 的 ASP.NET 驗證控制項

驗證使用者輸入是一項很繁雜的工作。.NET Framework 所提供的驗證控制項可以用來驗證使用者輸入,並且每當在驗證控制項中發現無效的資料時,就會顯示適當的錯誤訊息。 當您必須在用戶端及伺服器上重複使用這個驗證時,這些控制項可以為您節省許多時間。此外,.NET Framework 還提供了 ValidationSummary 控制項,可以用來在畫面的一個區域中顯示網頁的所有錯誤訊息。

下列步驟將會建立可以用來提示使用者輸入使用者名稱、電子郵件地址及密碼的 ASP.NET Web 應用程式。 當使用者提交所要求的資訊時,表單上的驗證控制項就會驗證使用者所輸入的資料,並且會在畫面底端的摘要清單中,顯示所有錯誤訊息。
  1. 啟動 Visual Studio .NET。
  2. 在 Visual Basic .NET 中建立新的 ASP.NET Web 應用程式專案。
  3. 切換至 WebForm1.aspx 視窗的 HTML 檢視。
  4. 將輸入控制項及相關的訊息 (提示) 新增至您的表單中,以請求使用者輸入資料。在 [WebForm1 HTML] 視窗中,在開頭及結尾表單標記之間,複製並貼上下列程式碼。

    注意:當您將程式碼貼入 [HTML] 視窗內時,請務必將程式區段以 HTML 格式貼上。如果要執行這項操作,請選取快顯功能表上的 [貼成 HTML]
    <table>
    <tr width=100>
    <td>UserName:</td>
    <td><input id=txtUserName type=text size=20 maxlength=15 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>E-mail Address:
    <td><input id=txtEmail type=text size=35 maxlength=30 runat=server/>  (someone@microsoft.com)
    </td>
    </tr>
    
    <tr width=100>
    <td>Password:</td>
    <td><input id=txtPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>Retype Password:</td>
    <td><input id=txtConfirmPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    </table>
    					
  5. RequiredFieldValidator 控制項會確認某些值已經輸入控制項所指定的欄位中。將 RequiredFieldValidator 控制項新增至表單的 UserNamePassword 欄位中。

    在 [WebForm1 HTML] 視窗中,在 </table> 標記後面複製並貼上下列程式碼:
    <asp:RequiredFieldValidator id=valUserNameRequired 
    ControlToValidate=txtUserName ErrorMessage="UserName is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valPasswordRequired 
    ControlToValidate=txtPassword ErrorMessage="Password is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valConfirmPasswordRequired 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password confirmation is a required field."
    EnableClientScript=true Display=None Runat=server/>
    					
  6. 密碼欄位通常是強制使用者輸入兩次相同的密碼來進行驗證。CompareValidator 控制項會比較兩個輸入欄位中的內容,並且當兩者不相符時,就會產生錯誤訊息。使用 CompareValidator 控制項來驗證密碼欄位。

    在 [WebForm1 HTML] 視窗中,在步驟 5 中所新增的驗證控制項後面,複製並貼上下列程式碼:
    <asp:CompareValidator id=valComparePassword 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password fields must match." ControlToCompare=txtPassword Display=None
    EnableClientScript=true Runat=server/>
    					
  7. 某些欄位有時候可能會需要更多的自訂驗證,例如電子郵件地址欄位。RegularExpressionValidator 控制項會確定是否接著 someone@microsoft.com 的基本格式。欄位的內容是經由規則運算式進行測試的,如果沒有找到與運算式相符的內容,使用者就會收到錯誤訊息。新增 RegularExpressionValidator 控制項,以驗證使用者所提供的電子郵件地址格式。

    在 [WebForm1 HTML] 視窗中,在先前的驗證控制項後面複製並貼上下列程式碼:
    <asp:RegularExpressionValidator ID=valEmailAddress
    ControlToValidate=txtEmail	ValidationExpression=".*@.*\..*" ErrorMessage="Email address is invalid." 
    Display=None EnableClientScript=true Runat=server/>
    					
  8. 新增 Submit 按鈕,以允許使用者將網頁提交至伺服器,並驗證表單上的控制項內容。

    在 [WebForm1 HTML] 視窗中,在先前的驗證控制項後面複製並貼上下列程式碼:
    <br>
    <input type=submit id=cmdSumbit value=submit runat=server/>
    					
  9. 最後,ValidationSummary 控制項可以用來顯示表單的單一區域中所發生的所有錯誤。

    在 [WebForm1 HTML] 視窗中,在 Submit 按鈕的程式碼後面複製並貼上下列程式碼:
    <br><br>
    <asp:ValidationSummary id=ValSummary HeaderText="The following 
    errors were found:" ShowSummary=True DisplayMode=List Runat=server/>
    					
  10. 按一下 [儲存]
  11. [偵錯] 功能表上按一下 [啟動],以建置並執行應用程式。

    Form1 就會顯示在畫面上。

驗證

  • 如果使用者按一下 [提交],但沒有輸入任何輸入值,就會顯示必須輸入這三個欄位的錯誤訊息。
  • 如果使用者提交的兩個密碼不相符,就會顯示 Password fields must match (密碼欄位必須相符) 的錯誤訊息。
  • 如果使用者提交的電子郵件地址格式不正確,則會顯示 E-mail address is invalid (電子郵件地址無效) 的錯誤訊息。

?考

如需有關驗證控制項的資源及詳細資訊,請瀏覽下列 MSDN 網站:
驗證控制項 (英文)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mwdesign/html/mworivalidationcontrols.asp

驗證控制項簡介 (英文)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mwdesign/html/mwconintroductiontothevalidationcontrols.asp

驗證伺服器控制項 (英文)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconaspnetsyntaxforvalidationcontrols.asp

新增及設定 ValidationSummary 控制項 (英文)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mwdesign/html/mwtskaddingconfiguringsummaryvalidatorcontrol.asp

屬性

文章編號: 316662 - 上次校閱: 2004年9月20日 - 版次: 2.2
這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
關鍵字:?
kbhowtomaster kbinfo kbvalidation kbhowto KB316662
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com