Especificando grupos de validação
Grupos de validação permitem que você a organize controles de validação em uma página como um conjunto.Cada grupo de validação pode executar a validação independentemente de outros grupos de validação na página.
Você cria um grupo de validação, definindo a propriedade ValidationGroup com o mesmo nome (uma sequência de caracteres) para todos os controles que você deseja agrupar.Você pode atribuir qualquer nome a um grupo de validação, mas você deve usar o mesmo nome de todos os membros do grupo.
Durante um postback, a classe Page propriedade IsValid é definida com base apenas nos controles de validação no grupo de validação atual.O grupo de validação atual é determinado pelo controle que causou a ocorrência de validação.Por exemplo, se um controle de botão com um grupo de validação do LoginForm é clicado, em seguida, a propriedade IsValid retornará true se todos os controles de validação cuja propriedade ValidationGroup é definida como LoginForm forem válidos.Outros controles, como um controle DropDownList também pode disparar validação se a propriedade CausesValidationdo controle é definida como true (e a propriedade AutoPostBack é definida como true.)
Para validar programaticamente, você pode chamar a sobrecarga do método Validate que utiliza o parâmetro validationGroup para forçar a validação de somente esse grupo de validação.Observe que, quando você chama o método Validate, a propriedade IsValid refletirá a validade de todos os grupos validadas até o momento.Isso pode incluir um grupo que foi validado como resultado de um postback, e o grupo validado por meio de programação.Se qualquer controle em qualquer grupo for inválido, a propriedade IsValid retorna false.
O exemplo de código a seguir demonstra como utilizar a propriedade ValidationGroup para especificar os controles para validar quando um controle Button envia de volta para o servidor.A página contém três caixas de texto para capturar dados de usuário e três controles RequiredFieldValidator para garantir que o usuário não deixe um caixa de texto em branco.Os controles RequiredFieldValidator para as primeiras duas caixas de texto estão no grupo de validação PersonalInfoGroup e o controle RequiredFieldValidator para a terceira caixa de texto está no grupo de validações LocationInfoGroup.Quando Button1 é clicado, somente os controles no grupo de validação PersonalInfoGroup são validados.Quando Button2 é clicado, somente o controle no grupo de validação LocationInfoGroup é validado.
<%@ page language="VB" %>
<!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 >
<title>Button.ValidationGroup Example</title>
</head>
<body>
<form id="form1" >
<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: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>
<%@ 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" >
<title>Button.ValidationGroup Example</title>
</head>
<body>
<form id="form1" >
<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: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>