Две группы проверки в элементе управления Rad Wizard

У меня есть элемент управления «RadWizard» (от Telerik) с двумя «RadWizardSteps» и двумя разными «ValidationGroups».

Когда я нажимаю первую кнопку (BtnArrayAdd), проверка элемента управления «TxtArrayName» работает правильно.

Когда я нажимаю вторую кнопку (BtnAdd), проверка проверяет только элемент управления «TxtAttributeName», но не элемент управления «CbAttributeType».

Когда я удаляю первый шаг, проверка для обоих элементов управления (TxtAttributeName и CbAttributeType) работает правильно.

В чем может быть проблема?

Спасибо, Доминик

<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>

person user3384512    schedule 05.09.2018    source источник


Ответы (1)


Есть две возможности с вашим кодом, которые вызывают эту проблему. Они объясняются, как показано ниже.

  • При использовании RequiredFieldValidator для radcombobox вы должны помнить, что текстовая часть выбранного элемента в radcombobox проверяется. Итак, глядя на вашу разметку для RequiredFieldValidator, она будет работать только в том случае, если текстовая часть выбранного по умолчанию элемента в radcombobox представляет собой пустую строку. Итак, убедитесь, что для элемента по умолчанию задан текст пустой строки.
  • Если текстовая часть элемента по умолчанию в radcombobox представляет собой не пустую строку, а что-то вроде Select a Type, то все, что вам нужно сделать, это установить свойство InitialValue вашего валидатора, как в следующей разметке.

Разметка, когда элемент по умолчанию имеет непустой текст

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