ASP.NETWeb伺服器驗證控制項如何使用_實用技巧

來源:互聯網
上載者:User

什麼是驗證控制項?

希望使用者輸入正確的類型的資料,為了驗證使用者輸入是否滿足要求,必須對輸入的值、範圍或格式進行檢查。
.NET中驗證控制項在哪裡?

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

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

 

怎樣使用ASP.Net驗證控制項?

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

                    

用戶端的驗證
        為了使用者體驗,防止人家提交很多遍都填不對 例如一些合法性檢查,比如字串長度,非法字元,Regex,非空等。大多是友好提示(本質不靠譜,但響應快。)
伺服器端的驗證
        商務邏輯、安全性需要的真正的驗證,比如密碼對不對,需要在後台寫代碼來有沒有許可權之類的。需要提交資料並儲存的地方,放到伺服器驗證。(為了安全,用戶端驗證的,伺服器端也驗證。)
混合驗證:
用戶端和伺服器都需要驗證啦。
 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伺服器驗證控制項的使用方法,希望大家每篇文章都有所收穫。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.