Сводка проверки ASP.NET внутри формы не работает

У меня есть сводка проверки в виде формы asp.net, и валидаторы просто не вызывают сводку валидации.

Вещи, которые я уже пробовал:

  • Включить ViewState на все.
  • Установите ClientID на статический.
  • Установите группу ValidationGroup в одну и ту же группу как для всех валидаторов, так и для сводки.
  • Использовал Google для поиска решения.

У кого-нибудь есть идеи, как с этим справиться?

Код. Заявление Formview:

<asp:FormView ID="FormViewPerson" runat="server" DataSourceID="ObjectDataSourcePerson"
    DefaultMode="Edit" OnItemUpdating="FormViewPerson_ItemUpdating" OnItemCommand="FormViewPerson_ItemCommand"
    OnItemUpdated="FormViewPerson_ItemUpdated" Width="100%">

Любое из текстовых полей с валидатором:

<td>  <asp:TextBox ID="NumberTextBox" runat="server" Text='<%# Bind("Number") %>' 
                        TabIndex="10" CausesValidation="True" ClientIDMode="Static" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidatorNumber" runat="server" ControlToValidate="NumberTextBox"
                        ErrorMessage="Number is Required" ForeColor="Red" 
                        ValidationGroup="EditPerson">*</asp:RequiredFieldValidator>
                </td>

И кнопка отправки:

<asp:ValidationSummary ID="ValidationSummaryPerson" runat="server" 
            ForeColor="Red" ClientIDMode="Static" CssClass="validation" 
            ShowMessageBox="True" ValidationGroup="EditPerson" ViewStateMode="Enabled"
            />
        <asp:Button ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
            Text="Save" ValidationGroup="EditPerson" CssClass="ButtonStyle" TabIndex="90" />
        &nbsp;<asp:Button ID="EditCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
            Text="Cancel" CssClass="ButtonStyle" TabIndex="100" 
            ValidationGroup="EditPerson" />

2 ответа

Решение

Надеюсь, что CausesValidation для кнопки установлено значение true.

Ну, я исправил проблему. Если кто-то еще сталкивается с этой проблемой, попробуйте следующее:

  • Убедитесь, что во всей форме есть только одна (1) группа проверки.
  • Задайте для "validvalid" значение "true" на кнопке подтверждения.
  • Проверьте, дважды и трижды проверьте правильность написания свойства вашей группы проверки на всех соответствующих элементах управления.
  • Будьте внимательны к ошибкам JavaScript в ваших клиентских скриптах. Они могут вызвать хаос.
Другие вопросы по тегам