Validation groups allow you to organize validation controls on a page as a set.
Each validation group can perform validation independently from other validation groups on the page
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<%
@ page language
=
"
C#
"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="head1" runat ="server" >
< title > Button.ValidationGroup Example </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< h3 > Button.ValidationGroup Example </ h3 >
< asp:label id ="NameLabel"
text ="Enter your name:"
runat ="Server"
AssociatedControlID ="NameTextBox" >
</ asp:label >
< asp:textbox id ="NameTextBox"
runat ="Server" >
</ asp:textbox >
< asp:requiredfieldvalidator id ="RequiredFieldValidator1"
controltovalidate ="NameTextBox"
validationgroup ="PersonalInfoGroup"
errormessage ="Enter your name."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
< asp:label id ="AgeLabel"
text ="Enter your age:"
runat ="Server"
AssociatedControlID ="AgeTextBox" >
</ asp:label >
< asp:textbox id ="AgeTextBox"
runat ="Server" >
</ asp:textbox >
< asp:requiredfieldvalidator id ="RequiredFieldValidator2"
controltovalidate ="AgeTextBox"
validationgroup ="PersonalInfoGroup"
errormessage ="Enter your age."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
<!-- When Button1 is clicked, only validation
controls that are a part of PersonalInfoGroup
are validated. -->
< asp:button id ="Button1"
text ="Validate"
causesvalidation ="true"
validationgroup ="PersonalInfoGroup"
runat ="Server" />
< br />< br />
< asp:label id ="CityLabel"
text ="Enter your city of residence:"
runat ="Server"
AssociatedControlID ="CityTextBox" >
</ asp:label >
< asp:textbox id ="CityTextBox"
runat ="Server" >
</ asp:textbox >
< asp:ListBox ID ="lstPickClass" runat ="server" AutoPostBack ="True" >
< asp:ListItem Selected ="True" > Choose a Course </ asp:ListItem >
< asp:ListItem Value ="MedErrorPrevention" > Med Error Prevention </ asp:ListItem >
< asp:ListItem Value ="FloridaMisFills" > Florida MisFills </ asp:ListItem >
</ asp:listbox >
< asp:customvalidator id ="CustomValidator1" runat ="server" controltovalidate ="lstPickClass"
errormessage ="Please select a Course" onservervalidate ="CustomValidator1_ServerValidate"
validateemptytext ="True" ></ asp:customvalidator >
//add this to code behind..
// protected void lstPickClass_ServerValidate(object source, ServerValidateEventArgs args)
// {
// args.IsValid = (lstPickClass.SelectedIndex > 0);
// }
< asp:requiredfieldvalidator id ="RequiredFieldValidator3"
controltovalidate ="CityTextBox"
validationgroup ="LocationInfoGroup"
errormessage ="Enter a city name."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
<!-- When Button2 is clicked, only validation
controls that are a part of LocationInfoGroup
are validated. -->
< asp:button id ="Button2"
text ="Validate"
causesvalidation ="true"
validationgroup ="LocationInfoGroup"
runat ="Server" />
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="head1" runat ="server" >
< title > Button.ValidationGroup Example </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< h3 > Button.ValidationGroup Example </ h3 >
< asp:label id ="NameLabel"
text ="Enter your name:"
runat ="Server"
AssociatedControlID ="NameTextBox" >
</ asp:label >
< asp:textbox id ="NameTextBox"
runat ="Server" >
</ asp:textbox >
< asp:requiredfieldvalidator id ="RequiredFieldValidator1"
controltovalidate ="NameTextBox"
validationgroup ="PersonalInfoGroup"
errormessage ="Enter your name."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
< asp:label id ="AgeLabel"
text ="Enter your age:"
runat ="Server"
AssociatedControlID ="AgeTextBox" >
</ asp:label >
< asp:textbox id ="AgeTextBox"
runat ="Server" >
</ asp:textbox >
< asp:requiredfieldvalidator id ="RequiredFieldValidator2"
controltovalidate ="AgeTextBox"
validationgroup ="PersonalInfoGroup"
errormessage ="Enter your age."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
<!-- When Button1 is clicked, only validation
controls that are a part of PersonalInfoGroup
are validated. -->
< asp:button id ="Button1"
text ="Validate"
causesvalidation ="true"
validationgroup ="PersonalInfoGroup"
runat ="Server" />
< br />< br />
< asp:label id ="CityLabel"
text ="Enter your city of residence:"
runat ="Server"
AssociatedControlID ="CityTextBox" >
</ asp:label >
< asp:textbox id ="CityTextBox"
runat ="Server" >
</ asp:textbox >
< asp:ListBox ID ="lstPickClass" runat ="server" AutoPostBack ="True" >
< asp:ListItem Selected ="True" > Choose a Course </ asp:ListItem >
< asp:ListItem Value ="MedErrorPrevention" > Med Error Prevention </ asp:ListItem >
< asp:ListItem Value ="FloridaMisFills" > Florida MisFills </ asp:ListItem >
</ asp:listbox >
< asp:customvalidator id ="CustomValidator1" runat ="server" controltovalidate ="lstPickClass"
errormessage ="Please select a Course" onservervalidate ="CustomValidator1_ServerValidate"
validateemptytext ="True" ></ asp:customvalidator >
//add this to code behind..
// protected void lstPickClass_ServerValidate(object source, ServerValidateEventArgs args)
// {
// args.IsValid = (lstPickClass.SelectedIndex > 0);
// }
< asp:requiredfieldvalidator id ="RequiredFieldValidator3"
controltovalidate ="CityTextBox"
validationgroup ="LocationInfoGroup"
errormessage ="Enter a city name."
runat ="Server" >
</ asp:requiredfieldvalidator >
< br />< br />
<!-- When Button2 is clicked, only validation
controls that are a part of LocationInfoGroup
are validated. -->
< asp:button id ="Button2"
text ="Validate"
causesvalidation ="true"
validationgroup ="LocationInfoGroup"
runat ="Server" />
</ form >
</ body >
</ html >