2011-05-02 92 views
2

我在驗證控件的formview中遇到了一些問題。我可以添加一個驗證控件內的一個formview控件它工作正常,直到我試圖使用驗證組進行分組。此外,如果我不輸入值,程序仍然允許將其添加到數據庫中。有人能幫我指出我的程序中的問題或錯誤嗎?這是我所做的插入語句。在formview中驗證控件的問題ASP.NET C#

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

任何幫助,將不勝感激;)

在此先感謝。

+0

@user:在哪個按鈕上單擊是否要驗證控件? – 2011-05-02 05:30:02

+0

你有'Insert'命令的代碼隱藏嗎? – KaeL 2011-05-02 05:32:27

+0

@mahesh我想驗證控件,當我點擊插入按鈕。 – Loupi 2011-05-02 05:37:18

回答

1

您必須設置ValidationGroup="InsertBook",因爲您已將驗證組設置爲驗證。

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

我不知道爲什麼,但它的工作再次;)也許我已經指出它是一個錯誤的驗證組。感謝大家! – Loupi 2011-05-02 05:53:20

+0

您已將驗證組指定給您的驗證器。 – 2011-05-02 05:55:22

+0

是的,我已經指出它到一個錯誤的驗證組,而不是將它指向InsertBook我已經指出它到InsertButton:P – Loupi 2011-05-02 06:53:35