c# - formview ASP.NET C# 中的验证控件问题

标签 c# asp.net validation formview

我在使用 formview 中的验证控件时遇到一些问题。我可以在 formview 控件中添加一个验证控件,它工作正常,直到我尝试使用验证组对它们进行分组。此外,如果我不输入值,程序仍然允许将其添加到数据库中。有人可以帮我指出程序中的问题或错误吗?这是我所做的插入语句。

<InsertItemTemplate>

                Book ID:
                <asp:TextBox ID="bookidTextBox" runat="server" Text='<%# Bind("bookid") %>' />
                <asp:RequiredFieldValidator ID="RequesFieldValidator1" runat="server" ErrorMessage="* Required" ControlToValidate="bookidTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="RegularExpressionValidator" runat="server" Display="Dynamic" ControlToValidate="bookidTextBox" ValidationExpression="^([\S\s]{13,13})$" ErrorMessage="Value must be at least 13 characters long">
                </asp:RegularExpressionValidator>
                <br />

                Title:
                <asp:TextBox ID="booktitleTextBox" runat="server" 
                    Text='<%# Bind("booktitle") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="* Required" ControlToValidate="booktitleTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                Author's lastname:
                <asp:TextBox ID="lastnameTextBox" runat="server" 
                    Text='<%# Bind("lastname") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="* Required" ControlToValidate="lastnameTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                Author's firstname:
                <asp:TextBox ID="firstnameTextBox" runat="server" 
                    Text='<%# Bind("firstname") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="* Required" ControlToValidate="firstnameTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                Description:
                <asp:TextBox ID="descriptionTextBox" runat="server" 
                    Text='<%# Bind("description") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ErrorMessage="* Required" ControlToValidate="descriptionTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                Category:
                <asp:DropDownList ID="DropDownList1" runat="server" 
                    DataSourceID="categoryDataSource" DataTextField="name" 
                    DataValueField="categoryid" SelectedValue='<%# Bind("categoryid", "{0}") %>'>
                </asp:DropDownList>

                <asp:SqlDataSource ID="categoryDataSource" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>" 
                    SelectCommand="SELECT [categoryid], [name] FROM [TblCategory]">
                </asp:SqlDataSource>
                <br />

                Date added:
                <asp:TextBox ID="dateaddedTextBox" runat="server" 
                    Text='<%# Bind("dateadded") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ErrorMessage="* Required" ControlToValidate="dateaddedTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                Status:
                <asp:DropDownList ID="DropDownList2" runat="server" 
                    DataSourceID="statusDataSource" DataTextField="statusname" 
                    DataValueField="statusid" SelectedValue='<%# Bind("statusid", "{0}") %>'>
                </asp:DropDownList>

                <asp:SqlDataSource ID="statusDataSource" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:LibrarySystemConnectionString %>" 
                    SelectCommand="SELECT [statusid], [statusname] FROM [BookStatus]">
                </asp:SqlDataSource>
                <br />

                Quantity:
                <asp:TextBox ID="quantityTextBox" runat="server" 
                    Text='<%# Bind("quantity") %>' />
                <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ErrorMessage="* Required" ControlToValidate="quantityTextBox" ValidationGroup="InsertBook">
                </asp:RequiredFieldValidator>
                <br />

                <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Add" />
                    &nbsp;

                <asp:LinkButton ID="InsertCancelButton" runat="server" 
                    CausesValidation="False" CommandName="Cancel" Text="Cancel" />

            </InsertItemTemplate>

任何帮助将不胜感激;)

提前致谢。

最佳答案

您必须设置 ValidationGroup="InsertBook",因为您已将验证组设置为您的验证。

 <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                    Text="Add" ValidationGroup="InsertBook" />

关于c# - formview ASP.NET C# 中的验证控件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853680/

相关文章:

c# - 跨多个项目共享 Entity Framework 库

Asp.Net Core/IdentityServer 复杂授权

wpf - 如何在其单元格之一无效时编辑 wpf datagrid 其他单元格?

javascript - 根据名称选择jquery中的输入字段

c# - C#检查xml节点的安全方法?

C# Jagged Array 检查值是否存在/为真

c# - ViewModel 的数据更改时,文本框不会更新

c# - 滥用语言

c# - 重定向到页面和按下后退按钮后进入同一页面之间的区别?

javascript - ASP.NET 表单验证 - JavaScript 中的成功事件?