Loupi
Loupi

Reputation: 1112

Problem with Validation Control in formview ASP.NET C#

I'm having some problem with validation control in formview. I could add a validation control inside a formview control it was working fine until I tried to group them using validationgroups. Also if I dont enter a value the program still allow to add it in the database. Could someone help me point out the problem or error in my program? Here's the Insert statement I've made.

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

Any help would be much appreciated ;)

Thanks in advance.

Upvotes: 2

Views: 6864

Answers (1)

Muhammad Akhtar
Muhammad Akhtar

Reputation: 52241

You have to set ValidationGroup="InsertBook" as you have set Validation group to your validation.

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

Upvotes: 1

Related Questions