程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NETWeb服務器驗證控件如何使用

ASP.NETWeb服務器驗證控件如何使用

編輯:ASP.NET基礎

什麼是驗證控件?

希望用戶輸入正確的類型的數據,為了驗證用戶輸入是否滿足要求,必須對輸入的值、范圍或格式進行檢查。
.NET中驗證控件在哪裡?

在工具箱的驗證分組裡。
常用的ASP.NET控件幾個?分別是什麼?

1)CompareValidator控件:與給定值比較.
2)CustomValidator控件:用戶自己定制校驗邏輯
3)RangeValidator控件:檢查控件的值是否在給定的有效范圍內。
4)RegularExpressValidator控件:使用正則表達式驗證用戶輸入的數據是否符合預定義的格式。
5)RequiredFieldValidator控件:防止用戶輸入空值。
6)ValidationSummary控件:匯總Web頁上所有驗證控件的錯誤信息。
追本溯源:
所有的驗證控件都是從基類BaseValidator中繼承而來的,為驗證控件提供了一些公有的屬性:

 

怎樣使用ASP.Net驗證控件?

和添加其他服務器控件一樣,即可啟用對用戶輸入的驗證。
在控件的ControlToValidator屬性中賦予要關聯驗證控件的ID號,關聯起來。
        客戶端驗證?服務器驗證?                

                    

客戶端的驗證
        為了用戶體驗,防止人家提交很多遍都填不對 例如一些合法性檢查,比如字符串長度,非法字符,正則表達式,非空等。大多是友好提示(本質不靠譜,但響應快。)
服務器端的驗證
        業務邏輯、安全性需要的真正的驗證,比如密碼對不對,需要在後台寫代碼來有沒有權限之類的。需要提交數據並保存的地方,放到服務器驗證。(為了安全,客戶端驗證的,服務器端也驗證。)
混合驗證:
客戶端和服務器都需要驗證啦。
 DEMO:
這裡面主要說說客戶端驗證和服務器驗證 兩種方式,以CustomValidator控件為例:
驗證用戶輸入的是否為偶數
客戶端驗證:
在這裡用到JavaScrip代碼:

<script language="javascript " type="text/javascript"> 
          /*驗證是否為偶數函數*/ 
    function ClientValidate(source, args)  
    { 
 
      if ((args.value % 2) == 0) 
          args.IsValid = true; 
      else 
          args.IsValid = false; 
    } 
         
  </script> 

客戶端驗證控件代碼:

<asp:CustomValidator ID="CustomValidator1" runat="server"  
 
    ControlToValidate="txtOS" ErrorMessage="不是一個偶數!" ClientValidationFunction="ClientValidate"></asp:CustomValidator> 

服務器驗證,C#代碼:

public partial class _Default : System.Web.UI.Page 
{ 
 
  //服務器端驗證輸入是否為偶數。 
  protected void cvInput_ServerValidate(object source, ServerValidateEventArgs args) 
  { 
    //獲取驗證控件輸入值。 
    int value = int.Parse(args.Value); 
    //判斷是否為偶數。 
    if ((value % 2) == 0) 
    { 
      args.IsValid = true; 
    } 
    else 
    { 
      args.IsValid = false; 
    } 
  } 
} 

服務器驗證,控件代碼:                      

<asp:CustomValidator ID="cvInput" runat="server"  
      ControlToValidate="txtOS" ErrorMessage="不是一個偶數!" OnServerValidate="ServerValidate" ></asp:CustomValidator> 

最終得到的效果圖如下所示:

                               

和CS的控件比起來,CS的控件中沒有驗證控件哦。

學了母版、用戶控件的使用,今天又學習了ASP.NETWeb服務器驗證控件的使用方法,希望大家每篇文章都有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved