HtmlInputButton.ValidationGroup Property

Definition

Gets or sets the group of controls for which the HtmlInputButton 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 HtmlInputButton 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 HtmlInputButton 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 (((HtmlInputButton)sender).ID)
    {

      case "CityQueryButton":

        // Take the appropriate action if the controls pass validation. 
        if (CityReqValidator.IsValid)
        {
          Message.InnerHtml = "You have chosen to run a query for the following city: " +
             CityTextBox.Value;
        }

        break;

      case "StateQueryButton":

        // Take the appropriate action if the controls pass validation.
        if (StateReqValidator.IsValid)
        {
          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>HtmlInputButton ValidationGroup Example</title>
</head>

<body>

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

      <h3> HtmlInputButton 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="<br />Please enter a city."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="CityQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="True"
                      validationgroup="CityInfoGroup" 
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </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="<br />Please enter a state."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="StateQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="True"
                      validationgroup="StateInfoGroup"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </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, HtmlInputButton)).ID

      Case "CityQueryButton"

        ' Take the appropriate action if the controls pass validation. 
        If CityReqValidator.IsValid Then
           
          Message.InnerHtml = "You have chosen to run a query for the following city: " & _
             CityTextBox.Value
               
        End If

      Case "StateQueryButton"

        ' Take the appropriate action if the controls pass validation.
        If StateReqValidator.IsValid Then
               
          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>HtmlInputButton ValidationGroup Example</title>
</head>

<body>
   <form id="form1" runat="server">
      <h3> HtmlInputButton 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="<br />Please enter a city."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="CityQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="True"
                      validationgroup="CityInfoGroup"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </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="<br />Please enter a state."
                    Display="Dynamic"
                    EnableClientScript="False"
                    runat="server"/>
            </td>
            <td valign="bottom">
               <input id="StateQueryButton"
                      type="Submit"
                      value="Submit"
                      causesvalidation="True"
                      validationgroup="StateInfoGroup"
                      onserverclick="SubmitButton_Click"
                      runat="server"/>
            </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 HtmlInputButton 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 HtmlInputButton 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