Sana.91
Sana.91

Reputation: 2249

Un required validation error alert Within Grid view

i have a grid view which is used both for editing and inserting data .. 1)in order to insert data i use Footer rows. 2) and to edit data i use rest of the rows. the problem is that when ever i am trying to update any of the row with in grid view, the footer row validation also gets alert, which i dont want .. i want that only selected row validation should remain active ...

enter image description here

My Grid View Code is:

 <asp:GridView ID="PanelDetGridView" CssClass="table col-12 table-bordered table-hover widget-box widget-title widget-content nopadding" runat="server" AutoGenerateColumns="false" ShowFooter="true" OnRowCancelingEdit="PanelDetGridView_RowCancelingEdit" OnRowCommand="PanelDetGridView_RowCommand" OnRowDeleting="PanelDetGridView_RowDeleting" OnRowEditing="PanelDetGridView_RowEditing" OnRowUpdated="PanelDetGridView_RowUpdated" OnRowUpdating="PanelDetGridView_RowUpdating">
                                <Columns>
                                    <asp:TemplateField HeaderText="Make">
                                        <ItemTemplate>
                                            <%# Eval("DevManufcture.Name") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:DropDownList ID="DDLManfct" AutoPostBack="true" OnSelectedIndexChanged="DDLManfct_SelectedIndexChanged" DataSourceID="SqlDataSourceForManufctPanel" DataTextField="Name" DataValueField="idDeviceManufacturer" runat="server"></asp:DropDownList>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLManfct"></asp:RequiredFieldValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:DropDownList ID="DDLInsertManfct" AutoPostBack="true" OnSelectedIndexChanged="DDLInsertManfct_SelectedIndexChanged" DataSourceID="SqlDataSourceForManufctPanel" DataTextField="Name" DataValueField="idDeviceManufacturer" runat="server"></asp:DropDownList>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLInsertManfct"></asp:RequiredFieldValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Model">
                                        <ItemTemplate>
                                            <%# Eval("DevModel.Name") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:DropDownList ID="DDLModel" AutoPostBack="true" OnSelectedIndexChanged="DDLModel_SelectedIndexChanged" runat="server"></asp:DropDownList>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator3" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLModel"></asp:RequiredFieldValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:DropDownList ID="DDLInsertModel" AutoPostBack="true" OnSelectedIndexChanged="DDLInsertModel_SelectedIndexChanged" runat="server"></asp:DropDownList>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator4" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLInsertModel"></asp:RequiredFieldValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Type">
                                        <ItemTemplate>
                                            <%# Eval("DevMoType.Name") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:DropDownList ID="DDLType" AutoPostBack="true" OnSelectedIndexChanged="DDLType_SelectedIndexChanged" runat="server"></asp:DropDownList>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator5" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLType"></asp:RequiredFieldValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:DropDownList ID="DDLInsertType" AutoPostBack="true" OnSelectedIndexChanged="DDLInsertType_SelectedIndexChanged" runat="server"></asp:DropDownList>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator6" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="DDLInsertType"></asp:RequiredFieldValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>



                                    <asp:TemplateField HeaderText="Power">
                                        <ItemTemplate>
                                            <%# Eval("Power") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtpwr"   Text='<%# Eval("Power") %>' runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator7" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="txtpwr"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="txtpwr" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:TextBox ID="Instxtpwr" runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator8" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="Instxtpwr"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="Instxtpwr" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Current">
                                        <ItemTemplate>
                                            <%# Eval("Current") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtcurr" Text=' <%# Eval("Current") %>' runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator9" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="txtcurr"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="txtcurr" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:TextBox ID="Instxtcurr" runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                         <asp:RequiredFieldValidator ID="RequiredFieldValidator10" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="Instxtcurr"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="Instxtcurr" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Length">
                                        <ItemTemplate>
                                            <%# Eval("Length") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtlen"   Text='<%# Eval("Length") %>' runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator11" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="txtlen"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="txtlen" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:TextBox ID="Instxtlen" runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator12" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="Instxtlen"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator6" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="Instxtlen" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Width">
                                        <ItemTemplate>
                                            <%# Eval("Width") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtWidth" Text=' <%# Eval("Width") %>' runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator13" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="txtWidth"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator7" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="txtWidth" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </EditItemTemplate>
                                        <FooterTemplate>
                                            <asp:TextBox ID="Instxtwidth" runat="server" CssClass="form-control" Font-Size="Small" Height="20px" Width="200px"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator14" CssClass="help-inline" Font-Size="Small" runat="server" ErrorMessage="*Required" ControlToValidate="Instxtwidth"></asp:RequiredFieldValidator>
                                         <asp:RegularExpressionValidator ID="RegularExpressionValidator8" runat="server" ErrorMessage="  Enter Numbers Only ..." ValidationExpression="^[1-9]\d*(\.\d+)?$" ControlToValidate="Instxtwidth" CssClass="help-inline" Font-Size="Small"></asp:RegularExpressionValidator>
                                        </FooterTemplate>
                                    </asp:TemplateField>

                                        <asp:CommandField ButtonType="Button" ShowEditButton="true" />

                        <asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />
                        <asp:TemplateField HeaderText="Insert" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
                            <FooterTemplate>
                                <asp:LinkButton ID="lnkAdd" runat="server" CausesValidation="False" CommandName="Insert" Text="Insert"></asp:LinkButton>
                            </FooterTemplate>
                            </asp:TemplateField>



                                </Columns>
                            </asp:GridView>

Upvotes: 0

Views: 683

Answers (2)

Danny
Danny

Reputation: 132

something like this

 <asp:RequiredFieldValidator ID="RequiredFieldValidator17" CssClass="error"      ControlToValidate="txtSmalloc" ValidationGroup="CodataValidation" Display="Dynamic" runat="server" ErrorMessage="something" />

 <FooterTemplate>
 <asp:LinkButton ID="lnkAdd" runat="server" CausesValidation="True" ValidationGroup="CodataValidation" CommandName="Insert" Text="Insert"></asp:LinkButton>
 </FooterTemplate>

Upvotes: 1

Danny
Danny

Reputation: 132

Add a seperate validationgroup.

Both actions now validate the same validators.

Upvotes: 1

Related Questions