Requiredfieldsvalidatior ASP.NET с#
Хии
У меня есть страница с двумя detailsView и я попытался добавить RequiredFieldsValidator для всех полей и это сработало нормально но когда я добавляю ValidationGroup проверка вообще не работает
В чем проблема
Первый DetailsView:
<asp:DetailsView ID="DetailsView4" runat="server" AutoGenerateRows="False" CellPadding="4" DataKeyNames="St_ID" DataSourceID="SqlDataSource4" DefaultMode="Insert" ForeColor="#333333" GridLines="None" Height="50px" Width="291px"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <CommandRowStyle BackColor="#E2DED6" Font-Bold="True" /> <EditRowStyle BackColor="#999999" /> <FieldHeaderStyle BackColor="#E9ECF1" Font-Bold="True" /> <Fields> <asp:TemplateField HeaderText="Student ID" SortExpression="St_ID"> <EditItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("St_ID") %>'></asp:Label> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("St_ID") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("St_ID") %>'></asp:Label> </ItemTemplate> <ItemStyle Width="120px" /> </asp:TemplateField> <asp:TemplateField HeaderText="Username" SortExpression="Username"> <EditItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Username") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Username") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox3" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label5" runat="server" Text='<%# Bind("Username") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Name" SortExpression="Name"> <EditItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Name") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox4" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label6" runat="server" Text='<%# Bind("Name") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Nationality" SortExpression="Nationality"> <ItemTemplate> <asp:Label ID="Label4" runat="server" Text='<%# Bind("Nationality") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Nationality") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList5" runat="server" SelectedValue='<%# Bind("Nationality") %>' ValidationGroup="2"> <asp:ListItem>--Select--</asp:ListItem> <asp:ListItem>Egypt</asp:ListItem> <asp:ListItem>Jordan</asp:ListItem> <asp:ListItem>Lebanon</asp:ListItem> <asp:ListItem>Palestine</asp:ListItem> <asp:ListItem>Sudan</asp:ListItem> <asp:ListItem>Syria</asp:ListItem> <asp:ListItem>UAE</asp:ListItem> <asp:ListItem>Yemen</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="DropDownList5" ErrorMessage="Required" ForeColor="Red" InitialValue="--Select--" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Gender" SortExpression="Gender"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("Gender") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Gender") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList1" runat="server" SelectedValue='<%# Bind("Gender") %>' ValidationGroup="2"> <asp:ListItem>--Select--</asp:ListItem> <asp:ListItem>Male</asp:ListItem> <asp:ListItem>Female</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="DropDownList1" ErrorMessage="Required" ForeColor="Red" InitialValue="--Select--" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label3" runat="server" Text='<%# Bind("Major_ID") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="DateOfBirth" SortExpression="DateOfBirth"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DateOfBirth") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" TextMode="Date" Text='<%# Bind("DateOfBirth") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="TextBox2" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("DateOfBirth") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="MobileNo" SortExpression="MobileNo"> <EditItemTemplate> <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("MobileNo") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("MobileNo") %>' maxlength="10" ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="TextBox7" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> <br /> <asp:RegularExpressionValidator ID="RegularExpresphone1" ValidationGroup="phone" Display="Dynamic" ControlToValidate="TextBox5" runat="server" ErrorMessage="Phone Number should be 10 Digits (only numbers)." SetFocusOnError="True" ValidationExpression="^\d{10}$" Font-Bold="False" ForeColor="Red"></asp:RegularExpressionValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label7" runat="server" Text='<%# Bind("MobileNo") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Major" SortExpression="Major_ID"> <EditItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Major_ID") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource4" DataTextField="MajorName" DataValueField="Major_ID" SelectedValue='<%# Bind("Major_ID") %>' ValidationGroup="2"></asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="DropDownList2" ErrorMessage="Required" ForeColor="Red" InitialValue="--Select--" ValidationGroup="2"></asp:RequiredFieldValidator> <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString ="<%$ConnectionStrings: ConnectionString %>" SelectCommand="SELECT Major_ID, MajorName FROM Major"></asp:SqlDataSource> </InsertItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="School Graduation Year" SortExpression="School_Graduation_Year"> <EditItemTemplate> <asp:TextBox ID="TextBox8" runat="server" Text='<%# Bind("School_Graduation_Year") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("School_Graduation_Year") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ControlToValidate="TextBox6" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label8" runat="server" Text='<%# Bind("School_Graduation_Year") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="School Grade" SortExpression="School_Grade"> <EditItemTemplate> <asp:TextBox ID="TextBox9" runat="server" Text='<%# Bind("School_Grade") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("School_Grade") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ControlToValidate="TextBox7" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label9" runat="server" Text='<%# Bind("School_Grade") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Join Year" SortExpression="Join_Year"> <EditItemTemplate> <asp:TextBox ID="TextBox10" runat="server" Text='<%# Bind("Join_Year") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox8" runat="server" Text='<%# Bind("Join_Year") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ControlToValidate="TextBox8" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label10" runat="server" Text='<%# Bind("Join_Year") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Email" SortExpression="Email"> <EditItemTemplate> <asp:TextBox ID="TextBox11" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox9" runat="server" Text='<%# Bind("Email") %>' TextMode="Email" ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ControlToValidate="TextBox9" ErrorMessage="Required" ForeColor="Red" ValidationGroup="2"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label11" runat="server" Text='<%# Bind("Email") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Address" SortExpression="Address"> <EditItemTemplate> <asp:TextBox ID="TextBox12" runat="server" Text='<%# Bind("Address") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox10" runat="server" Text='<%# Bind("Address") %>' ValidationGroup="2"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator15" runat="server" ControlToValidate="TextBox10" ValidationGroup="2" ErrorMessage="Required" ForeColor="Red" ></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label12" runat="server" Text='<%# Bind("Address") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ButtonType="Button" ShowInsertButton="True" /> </Fields> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> </asp:DetailsView>
Что я уже пробовал:
Второй DetailsView:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" CellPadding="4" DataKeyNames="Username" DataSourceID="SqlDataSource3" ForeColor="#333333" GridLines="None" Height="50px" Width="267px" style="margin-top: 0px; text-align: left;" onitemupdated="DetailsView1_ItemUpdated" onitemdeleted="DetailsView1_ItemDeleted" oniteminserted="DetailsView1_ItemInserted" DefaultMode="Insert"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <CommandRowStyle BackColor="#E2DED6" Font-Bold="True" /> <EditRowStyle BackColor="#999999" /> <FieldHeaderStyle BackColor="#E9ECF1" Font-Bold="True" /> <Fields> <asp:TemplateField HeaderText="Username" SortExpression="Username"> <EditItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("Username") %>'></asp:Label> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Username") %>' ValidationGroup="1" Width="100px"></asp:TextBox> <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Required" ControlToValidate="TextBox1" ForeColor="Red" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("Username") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Password" SortExpression="Password"> <EditItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Password") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Password") %>' Height="22px" ValidationGroup="1" Width="100px"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2" ErrorMessage="Required" ForeColor="Red" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <span ID="idControl">DetailsView1</span> - Field[1] - Password </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="UserType" SortExpression="UserType"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("UserType") %>'></asp:TextBox> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="DropDownList4" runat="server" ConnectionString ="<%$ConnectionStrings: ConnectionString %>" SelectedValue='<%# Bind("UserType") %>' ValidationGroup="1"> <asp:ListItem>--Select--</asp:ListItem> <asp:ListItem>employee</asp:ListItem> <asp:ListItem>doctor</asp:ListItem> <asp:ListItem>student</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="DropDownList4" ErrorMessage="Required" ForeColor="Red" InitialValue="--Select--" ValidationGroup="1"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("UserType") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ButtonType="Button" ShowInsertButton="True" /> </Fields> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> </asp:DetailsView>
[no name]
"совсем не работает" - так с какой же проблемой вы здесь столкнулись?