Обязательное поле Валидатор запускается при триггере постбэк - PullRequest
2 голосов
/ 26 апреля 2011

У меня есть выпадающий список на моей странице aspx, к которому я применил RequiredFieldValidator.Код DropDown:

<asp:DropDownList ID="ddlglCategoryId" runat="server" CssClass="textEntry2" 
                                            AutoPostBack="true" ValidationGroup="Save" DataSourceID="dtsglCategoryId" DataTextField="LookupItem"
                                            DataValueField="Id" AppendDataBoundItems="true">
                                            <asp:ListItem Text="All" Selected="True" Value="0"></asp:ListItem>
                                        </asp:DropDownList>

Код RequiredFieldValidator:

<asp:RequiredFieldValidator ID="rfvddlglCategoryId" InitialValue="0" runat="server"
                                            ErrorMessage="Please select category" CssClass="Validations" ControlToValidate="ddlglCategoryId"
                                            ValidationGroup="Save" Display="Dynamic" SetFocusOnError="true">
                                        </asp:RequiredFieldValidator>

У меня также есть триггер обратной записи на моей странице aspx, и когда я меняю категорию из выпадающего списка, посты на страниценазад и сетка на моей странице обновляется.Но из-за обратной отправки сообщение валидатора появляется, а затем исчезает.Я хочу, чтобы это отображалось только в том случае, если в раскрывающемся меню выбрано «Все» и пользователь нажимает кнопку «Сохранить».

Любые рекомендации?

Триггер:

</ContentTemplate>
    <Triggers>
        <%--<asp:AsyncPostBackTrigger ControlID="lbFileName" />--%>
        <asp:PostBackTrigger ControlID="btnFileUploadSave" />
    </Triggers>
</asp:UpdatePanel>

Кнопка:

<asp:ImageButton ID="btnFileUploadSave" runat="server" ValidationGroup="Save"
                                                                        ImageUrl="~/App_Themes/Default/images/update.png" ToolTip="Save"  
                                                                        Height="18px" onclick="btnFileUploadSave_Click"/>

Ответы [ 2 ]

1 голос
/ 27 апреля 2011

Может потребоваться установить для свойства AutoPostBack раскрывающегося списка значение false.Похоже, что постбэк запускается с помощью обработчика события OnSelectedIndexChanged.

0 голосов
/ 28 февраля 2013

Установите свойство ValidationGroup Для всех Validaters, которые вы хотите проверить по нажатию кнопки, а затем установите для кнопок свойство ValidationGroup, такое же, как у ваших Validators

Например:

<asp:RequiredFieldValidator ID="rfvDoc" runat="server" ControlToValidate="FileUpload1"
                    ErrorMessage="Please Select A Document" ValidationGroup="OnSave">
</asp:RequiredFieldValidator>

...