ASP.NET ValidationGroup屬性用于將驗證控件分組,使得只有屬于同一組的驗證控件才會進行驗證。
通過給驗證控件設置相同的ValidationGroup屬性值,可以將它們分組在一起。當執行頁面的驗證操作時,只有屬于當前激活的ValidationGroup的驗證控件才會進行驗證。
這個屬性通常用于擁有多個功能或按鈕的頁面,每個按鈕執行不同的操作,需要驗證不同的輸入。例如,一個登錄頁面可能包含用戶名和密碼的驗證,以及“登錄”和“注冊”兩個按鈕。可以將用戶名和密碼的驗證控件分組在一起,并將登錄按鈕和注冊按鈕分別分組。當點擊“登錄”按鈕時,只會驗證用戶名和密碼的輸入;當點擊“注冊”按鈕時,只會驗證注冊信息的輸入。
示例代碼如下:
<asp:TextBox ID="txtUsername" runat="server" ValidationGroup="login"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvUsername" runat="server" ControlToValidate="txtUsername" ValidationGroup="login" ErrorMessage="請輸入用戶名"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" ValidationGroup="login"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvPassword" runat="server" ControlToValidate="txtPassword" ValidationGroup="login" ErrorMessage="請輸入密碼"></asp:RequiredFieldValidator>
<asp:Button ID="btnLogin" runat="server" Text="登錄" ValidationGroup="login" OnClick="btnLogin_Click" />
<asp:TextBox ID="txtEmail" runat="server" ValidationGroup="register"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" ValidationGroup="register" ErrorMessage="請輸入郵箱"></asp:RequiredFieldValidator>
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" ValidationGroup="register"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvConfirmPassword" runat="server" ControlToValidate="txtConfirmPassword" ValidationGroup="register" ErrorMessage="請輸入確認密碼"></asp:RequiredFieldValidator>
<asp:Button ID="btnRegister" runat="server" Text="注冊" ValidationGroup="register" OnClick="btnRegister_Click" />
在上面的示例中,用戶名和密碼的驗證控件屬于“login”分組,郵箱和確認密碼的驗證控件屬于“register”分組。當點擊登錄按鈕時,只會驗證“login”分組的輸入;當點擊注冊按鈕時,只會驗證“register”分組的輸入。