ASP.Net資料驗證中的驗證組

來源:互聯網
上載者:User
資料驗證是為了防止使用者錄入錯誤資料或者漏掉必須填寫的資料而使得伺服器出現不必要的錯誤,ASP.NET有驗證控制項方便我們進行資料驗證,但是有時會出現這樣或者那樣的問題,我今天就遇到了一個,把驗證控制項說一下吧<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
 <asp:Button ID="Button1" runat="server" Text="Button1" />

上面的代碼實現了最基本的驗證,使用者如果不輸入資訊而直接點擊Button1那麼ErrorMessage就會顯示出來

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button1" />
<asp:Button ID="Button2" runat="server" Text="Button2" />

在上面的代碼中使用者如果不輸入資訊而點擊Button1或者Button2那麼ErrorMessage都會顯示出來.如果我不想讓Button2引發驗證怎麼辦呢? 好辦,給Button2添加一個屬性 CausesValidation="false" 如下

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button1" />
<asp:Button ID="Button2" runat="server" Text="Button2"  CausesValidation="false"  />

這樣使用者如果在不輸入資訊的情況下直接點擊Button2  ErrorMessage就不會出現
但是有時候需要我們在同一頁面驗證不同的資訊,你肯定不能將按鈕的 CausesValidation="false" 加上,我們需要加的是ValidationGroup屬性

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ValidationGroup="basicInfo" runat="server" ErrorMessage="error form textbox1"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" ValidationGroup="basicInfo" runat="server" Text="Button1" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="TextBox2" ValidationGroup="moreInof" runat="server" ErrorMessage="error form textbox2" ></asp:RequiredFieldValidator>
<asp:Button ID="Button2" ValidationGroup="moreInof" runat="server" Text="Button2" />

這樣就實現了你點擊Button只引發對特定button的驗證而不會影響其他的button

總結:使用驗證組可以將頁面上的驗證控制項歸為一組。可以對每個驗證組執行驗證,該驗證與同一頁的其他驗證組無關。
將要分組的所有控制項的 ValidationGroup 屬性設定為同一個名稱(字串)即可建立驗證組。可以為驗證組分配任何名稱,但必須對該組的所有成員使用相同的名稱。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.