• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

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

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

    相關軟件相關文章發表評論 來源:博客園時間:2010/3/16 17:32:49字體大?。?em class="fontsize">A-A+

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

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

     

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

     

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

    1.aspx頁面上:

    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事件關聯起來:

    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函數如下:

    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.客戶端的驗證函數如下:

    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>該欄位只能是數字。";
    13 sender.innerHTML = "<b>該欄位只能是數字。";
    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,提示:該欄位只能是數字。

     

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

     

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

      相關評論

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

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

      熱門評論

      最新評論

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

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>