日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)C#.NET → 教你只用一個Validator對多個控件進行驗證

      教你只用一個Validator對多個控件進行驗證

      相關軟件相關文章發(fā)表評論 來源:博客園時間:2010/3/16 17:32:49字體大。A-A+

      作者:佚名點擊:199次評論:0次標簽: Validator

      Aloaha Signator Validatorv3.9.285 官方版
      • 類型:電子閱讀大小:10.1M語言:中文 評分:5.0
      • 標簽:
      立即下載

       

      這個技巧是非常有用。如果我們有多個控件,我們只用一個驗證控件來驗證它 。這將減少頁面大小和改善性能,因為每個驗證控件在客戶端都會被渲染成span,如果一個頁面包含上百個控件,就會使得頁面非常的龐大臃腫。

       

      在這篇文章的Demo中,動態(tài)創(chuàng)建的幾個textbox,我只使用一個驗證控件去驗證它們。

      1.a(chǎn)spx頁面上:

      1 <body>
      2 <form id="form1" runat="server">
      3 <div>
      4 <asp:CustomValidator ID="CustomValidator1" runat="server" ></asp:CustomValidator>
      5 <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
      6 </div>
      7
      8 </form>
      9 </body>
      2.在服務端將驗證控件和TextBox的onfocus事件關聯(lián)起來:

      1 protected void Page_Load(object sender, EventArgs e)
      2 {
      3 if (!IsPostBack)
      4 {
      5 for (int i = 0; i < 10; i++)
      6 {
      7 TextBox tb = new TextBox();
      8 tb.ID = "tb" + i.ToString();
      9 tb.Attributes.Add("onfocus", "HookUpControl(this,'" + CustomValidator1.ClientID + "')");
      10 Page.Form.Controls.Add(tb);
      11 }
      12 }
      13 }
      3.HookUpControl函數(shù)如下:

      1 function HookUpControl(curObj, validatorClientID)
      2 {
      3 var validationControl = document.getElementById(validatorClientID);
      4 validationControl.controltovalidate = curObj.id;
      5 validationControl.clientvalidationfunction = "validatetextbox";
      6 validationControl.validateemptytext = "true";
      7 ValidatorHookupControl(curObj, validationControl);
      8 }
      4.客戶端的驗證函數(shù)如下:

      1 function validatetextbox(sender, args)
      2 {
      3 if (args.Value == "")
      4 {
      5 sender.errormessage = "<b>該欄位不能為空。";
      6 sender.innerHTML = "<b>該欄位不能為空。";
      7 args.IsValid = false;
      8 return;
      9 }
      10 if (isNaN(args.Value))
      11 {
      12 sender.errormessage = "<b>該欄位只能是數(shù)字。";
      13 sender.innerHTML = "<b>該欄位只能是數(shù)字。";
      14 args.IsValid = false;
      15 return;
      16 }
      17 if (Number(args.Value) < 100) {
      18 sender.errormessage = "<b>該欄位的值不能小于100。</b>";
      19 sender.innerHTML = "<b>該欄位的值不能小于100。</b>";
      20 args.IsValid = false;
      21 return;
      22 }
      23 }
      其實主要使用了ValidatorHookupControl(curObj, validationControl)的功能。

       

      在第一個TextBox中輸入1,提示:該欄位的值不能小于100。

       

      在第二個TextBox中輸入a,提示:該欄位只能是數(shù)字。

       

      在第三個TextBox輸入值,失去焦點后,再刪除,提示:該欄位不能為空。。

       

      onfocus事件可以換成你相應的事件,validatetextbox函數(shù)也可以擴展等等。

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)