HtmlButton.ValidationGroup Property

Definition

Gets or sets the group of controls for which the HtmlButton causes validation when it posts back to the server.

public:
 virtual property System::String ^ ValidationGroup { System::String ^ get(); void set(System::String ^ value); };
public virtual string ValidationGroup { get; set; }
member this.ValidationGroup : string with get, set
Public Overridable Property ValidationGroup As String

Property Value

The group of controls for which the HtmlButton control causes validation when it posts back to the server. The default value is an empty string ("") indicating that this property is not set.

Examples

The following code example demonstrates how to use the ValidationGroup property to specify the controls to validate when an HtmlButton control posts back to the server. The page contains two text boxes to capture data from the user and two RequiredFieldValidator controls to ensure that the user does not leave a text box blank. The RequiredFieldValidator control for the first text box is in the CityInfoGroup validation group and the RequiredFieldValidator control for the second box is in the StateInfoGroup validation group. When the CityQueryButton is clicked, only the control in the CityInfoGroup validation group is validated. When the StateQueryButton is clicked, only the control in the StateInfoGroup validation group is validated.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void SubmitButton_Click(Object sender, EventArgs e)
  {
    // Determine which button was clicked.
    switch (((HtmlButton)sender).ID)
    {
        
      case "CityQueryButton":

          if (CityReqValidator.IsValid)
          {
              // Indicate that the city query was selected.
              Message.InnerHtml = "You have chosen to run a query for the following city: " +
                                  CityTextBox.Value;
          }
        
        break;
        
      case "StateQueryButton":

          if (StateReqValidator.IsValid)
          {
              // Indicate that the state query was selected.
              Message.InnerHtml = "You have chosen to run a query for the following state: " +
                                  StateTextBox.Value;
          }
        break;
        
      default:
        
        // If the button clicked is not recognized, erase the message on the page. 
        Message.InnerHtml = "";
        
        break;
        
    }
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml"  >

<head runat="server">
    <title>HtmlButton ValidationGroup Example</title>
</head>
<body>
    <form id="form1" runat="server">    
    
        <h3>HtmlButton ValidationGroup Example</h3>   
         
      <table border="1" cellpadding="10">
         <tr>
            <td>
               <b>Enter city to query.</b> <br />
               
               <input id="CityTextBox" 
                      type="Text"
                      runat="server"/>
                      
               <asp:RequiredFieldValidator 
                      ID="CityReqValidator"
                      ControlToValidate="CityTextBox" 
                      ValidationGroup="CityInfoGroup" 
                      ErrorMessage="Please enter a city."
                      Display="Dynamic"
                      EnableClientScript="False"
                      runat="server"/>
                    
            </td>
            <td valign="bottom">
            
               <button id="CityQueryButton"
                       causesvalidation="True" 
                       validationgroup="CityInfoGroup" 
                       onserverclick="SubmitButton_Click"
                       runat="server">
                       Submit
               </button>
               
            </td>
         </tr>

         <tr>
            <td>
               <b>Enter state to query.</b> <br />
               
               <input id="StateTextBox" 
                      type="Text" 
                      runat="server"/>
               <asp:RequiredFieldValidator 
                      ID="StateReqValidator"
                      ControlToValidate="StateTextBox" 
                      ValidationGroup="StateInfoGroup"
                      ErrorMessage="Please enter a state."
                      Display="Dynamic"
                      EnableClientScript="False"
                      runat="server"/>
                      
            </td>
            <td valign="bottom">
            
               <button id="StateQueryButton"
                       causesvalidation="True"
                       validationgroup="StateInfoGroup"
                       onserverclick="SubmitButton_Click"
                       runat="server">
                       Submit
               </button>
               
            </td>
         </tr>

      </table>

      <br /><br />

      <span id="Message"
            runat="Server"/>
    </form>
    
</body>

</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  Sub SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    
    ' Determine which button was clicked.
    Select Case (CType(sender, HtmlButton)).ID
      
      Case "CityQueryButton"
        
                If (CityReqValidator.IsValid) Then
                    ' Indicate that the city query was selected.
                    Message.InnerHtml = "You have chosen to run a query for the following city: " & _
                                        CityTextBox.Value
                End If
                
            Case "StateQueryButton"
        
                If (StateReqValidator.IsValid) Then
                    ' Indicate that the state query was selected.
                    Message.InnerHtml = "You have chosen to run a query for the following state: " & _
                                        StateTextBox.Value
                End If
                
            Case Else
        
                ' If the button clicked is not recognized, erase the message on the page.
                Message.InnerHtml = ""
        
        
        End Select
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">
    <title> HtmlButton CausesValidation Example </title>
</head>
<body>

    <form id="form1" runat="server">

      <h3> HtmlButton CausesValidation Example </h3>

      <table border="1" cellpadding="10">
         <tr>
            <td>
            
               <b>Enter city to query.</b> <br />
            
               <input id="CityTextBox" 
                      type="Text"
                      runat="server"/>
            
               <asp:RequiredFieldValidator 
                      ID="CityReqValidator"
                      ControlToValidate="CityTextBox"
                      ValidationGroup="CityInfoGroup"
                      ErrorMessage="Please enter a city."
                      Display="Dynamic"
                      EnableClientScript="False"
                      runat="server"/>
            </td>
            <td valign="bottom">
            
               <button id="CityQueryButton"
                       causesvalidation="True" 
                       validationgroup="CityInfoGroup"
                       onserverclick="SubmitButton_Click"
                       runat="server">
                       Submit
               </button>
               
            </td>
         </tr>

         <tr>
            <td>
               
               <b>Enter state to query.</b> <br />
               
               <input id="StateTextBox" 
                      type="Text" 
                      runat="server"/>
                      
               <asp:RequiredFieldValidator 
                      ID="StateReqValidator"
                      ControlToValidate="StateTextBox" 
                      ValidationGroup="StateInfoGroup"
                      ErrorMessage="Please enter a state."
                      Display="Dynamic"
                      EnableClientScript="False"
                      runat="server"/>
                      
            </td>
            <td valign="bottom">
            
               <button id="StateQueryButton"
                       causesvalidation="True"
                       validationgroup="StateInfoGroup"
                       onserverclick="SubmitButton_Click"
                       runat="server">
                       Submit
               </button>
               
            </td>
         </tr>

      </table>

      <br /><br />

      <span id="Message"
            runat="Server"/>
    </form>
    
</body>

</html>

Remarks

Validation groups allow you to assign validation controls on a page to a specific category. Each validation group can be validated independently from other validation groups on the page. Use the ValidationGroup property to specify the name of the validation group for which the HtmlButton control causes validation when it posts back to the server.

This property has an effect only when the value of the CausesValidation property is set to true. When you specify a value for the ValidationGroup property, only the validation controls that are part of the specified group are validated when the HtmlButton control posts back to the server. If you do not specify a value for this property and the CausesValidation property is set to true, all validation controls on the page that are not assigned to a validation group are validated when the control posts back to the server.

Applies to

See also