htmlasp.netvalidationtelerikvalidationgroup

Two Validation Groups in a Rad Wizard Control


I have a "RadWizard" control (from Telerik) with two "RadWizardSteps" and two different "ValidationGroups".

When I click the first button (BtnArrayAdd), the validation for the "TxtArrayName" control works correct.

When I click the second button (BtnAdd), the validation checks only the "TxtAttributeName" control but not the "CbAttributeType" control.

When I remove the first step, the validation for both controls (TxtAttributeName & CbAttributeType) works correct.

What could be the problem?

Thx, Dominik

<telerik:RadWizardStep ID="StepWebServiceOutArrays" runat="server" StepType="Auto">
                <br />
                <div class="sbLabel1"><asp:Label ID="LblArrayName" runat="server"></asp:Label></div>
                <div class="sbControl1"><telerik:RadTextBox ID="TxtArrayName" runat="server" Width="200"></telerik:RadTextBox></div>
                <div class="sbLabel2"><asp:RequiredFieldValidator ID="TxtArrayNameValidator" runat="server" ControlToValidate="TxtArrayName" ValidationGroup="ArrayValidation" EnableClientScript="true" ForeColor="Red" ></asp:RequiredFieldValidator></div>
                <br /><br /><br />
                <telerik:RadButton ID="BtnArrayAdd" runat="server" CssClass="system" Width="100" OnClick="E_Click" ValidationGroup="ArrayValidation"></telerik:RadButton>
                <telerik:RadButton ID="BtnArrayRemove" runat="server" CssClass="system" Width="100" OnClick="E_Click" CausesValidation="false"></telerik:RadButton>
                <br />
            </telerik:RadWizardStep>

            <telerik:RadWizardStep ID="StepWebServiceOutAttributes" runat="server" StepType="Auto">
                <br />
                <div class="sbLabel1"><asp:Label ID="LblAttributeName" runat="server"></asp:Label></div>
                <div class="sbControl1"><telerik:RadTextBox ID="TxtAttributeName" runat="server" Width="200"></telerik:RadTextBox></div>
                <div class="sbLabel2"><asp:RequiredFieldValidator ID="TxtAttributeNameValidator" runat="server" ControlToValidate="TxtAttributeName" ValidationGroup="AttributeValidation" EnableClientScript="true" ForeColor="Red" ></asp:RequiredFieldValidator></div>
                <br /><br />
                <div class="sbLabel1"><asp:Label ID="LblAttributeType" runat="server"></asp:Label></div>
                <div class="sbControl1"><telerik:RadComboBox ID="CbAttributeType" runat="server" Width="200"></telerik:RadComboBox></div>
                <div class="sbLabel2"><asp:RequiredFieldValidator ID="CbAttributeTypeValidator" runat="server" ControlToValidate="CbAttributeType" ValidationGroup="AttributeValidation" EnableClientScript="true" ForeColor="Red"></asp:RequiredFieldValidator></div>
                <br /><br /><br />
                <telerik:RadButton ID="BtnAdd" runat="server" CssClass="system" Width="100" OnClick="E_Click" ValidationGroup="AttributeValidation"></telerik:RadButton>
                <telerik:RadButton ID="BtnRemove" runat="server" CssClass="system" Width="100" OnClick="E_Click" CausesValidation="false"></telerik:RadButton>
                <br />
            </telerik:RadWizardStep>

Solution

  • There are two possibilities with your code that are causing this issue. These are explained as below.

    Markup when default item has non-empty text

    <asp:RequiredFieldValidator ID="CbAttributeTypeValidator" runat="server" 
          ControlToValidate="CbAttributeType" ValidationGroup="AttributeValidation"
          EnableClientScript="true" ForeColor="Red"
          InitialValue="Select a type"></asp:RequiredFieldValidator>