Asp. net Обязательные полевые валидаторы не работают при нажатии кнопки - PullRequest
0 голосов
/ 22 апреля 2020
<div class="row">
  <div class="col-md-4">
                                <asp:Image ID="Image" runat="server" ImageUrl='<%# Eval("Product_Image")%>'></asp:Image>
                                <asp:LinkButton ID="btnFileUpdate" runat="server" CssClass="form-control-file btn au-btn-load " BackColor="DarkBlue" ForeColor="White" Text="Upload" OnClick="btnFileUpdate_Click"></asp:LinkButton>
                                <asp:Label ID="lblError" runat="server" Visible="false" ForeColor="Red"></asp:Label>
                                <asp:FileUpload ID="FUImage" runat="server" CssClass="form-control-file" Style="padding-top: 30px" />
                            </div>
<div class="col-md-8">
                                    <div class="row form-group">
                                        <div class="col-12 col-md-4">
                                            <asp:Label ID="lblPName" runat="server" class=" form-control-label font-weight-bold">Product Name</asp:Label>
                                        </div>
                                        <div class="col-12 col-md-8">
                                            <asp:TextBox ID="txtName" runat="server" CssClass="form-control" Text='<%#Bind("Product_Name") %>' ValidationGroup="validate"></asp:TextBox>
                                            <asp:RequiredFieldValidator ID="R1" runat="server" ControlToValidate="txtName" ErrorMessage="*This feild must be filled." ForeColor="Red"></asp:RequiredFieldValidator>
                                        </div>
                                    </div>

                                    <div class="row form-group">
                                        <div class="col-12 col-md-4">
                                            <asp:Label ID="lblDescription" runat="server" class=" form-control-label font-weight-bold">Description</asp:Label>
                                        </div>
                                        <div class="col-12 col-md-8">
                                            <asp:TextBox ID="txtDescription" runat="server" CssClass="form-control" Text='<%#Bind("Product_Description") %>'></asp:TextBox>
                                            <br />
                                        </div>
                                    </div>

                                    <div class="row form-group">
                                        <div class="col-12 col-md-4">
                                            <asp:Label ID="lblQuantity" runat="server" class=" form-control-label font-weight-bold">Quantity</asp:Label>
                                        </div>
                                        <div class="col-12 col-md-8">
                                            <asp:TextBox ID="txtQuantity" runat="server" Text='<%#Bind("Product_Quantity") %>' TextMode="Number" min="1" ValidationGroup="validate" class="form-control"></asp:TextBox>
                                            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtQuantity" ErrorMessage="*This feild must be filled." ForeColor="Red"></asp:RequiredFieldValidator>
                                        </div>

Перед тем, как нажать кнопку, если я оставляю поле пустым и перемещаюсь в другое поле, отображается сообщение об ошибке для заполнения поля. Но когда я нажимаю кнопку «Отправить», если текстовое поле все еще пустое, оно сохраняет нулевое значение и не отображает сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Не уверен, что вы уже добавили следующий фрагмент. Таким образом, под вашим событием нажатия кнопки отправки, вы должны проверить IsValid.

   protected void btnSubmit_Click(object sender, EventArgs e)
{
    if(Page.IsValid)
    {}
}
0 голосов
/ 22 апреля 2020

Не могли бы вы поделиться своим полным кодом? Так что сможете легко найти пропущенную часть. Здесь я не могу найти фрагмент кода для кнопки «Отправить».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...