2017-02-03 59 views
0

工作,我想驗證一些文本框,下拉列表控制,以不空,像下面的亮點部分:
enter image description hereRequiredValidator沒有在asp.net

和我的GridView控件的代碼看起來象下面這樣:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EMPLOYEEID" 
    DataSourceID="SqlDataSource1" ShowFooter="True"> 
    <Columns> 
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
    <asp:TemplateField> 
     <FooterTemplate> 
     <asp:LinkButton ID="LinkButton1" runat="server">Insert</asp:LinkButton>&nbsp;&nbsp; 
     </FooterTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="EMPLOYEEID" SortExpression="EMPLOYEEID"> 
     <EditItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Eval("EMPLOYEEID") %>'></asp:Label> 
     </EditItemTemplate> 
     <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Bind("EMPLOYEEID") %>'></asp:Label> 
     </ItemTemplate> 
     <FooterTemplate> 
     <asp:TextBox ID="txtInsertEmpID" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="rfvInsertEmpID" ControlToValidate="txtInsertEmpID" 
      Text="*" ForeColor="Red" ValidationGroup="Insert" runat="server" ErrorMessage="EmployeeID is required" /> 
     </FooterTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="NAME" SortExpression="NAME"> 
     <EditItemTemplate> 
     <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("NAME") %>'></asp:TextBox> 
     <asp:RequiredFieldValidator ID="rfvEditName" ControlToValidate="TextBox1" Text="*" 
      ForeColor="Red" runat="server" ErrorMessage="EmployeeName is required" /> 
     </EditItemTemplate> 
     <ItemTemplate> 
     <asp:Label ID="Label2" runat="server" Text='<%# Bind("NAME") %>'></asp:Label> 
     </ItemTemplate> 
     <FooterTemplate> 
     <asp:TextBox ID="txtInsertName" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="rfvInsertName" ControlToValidate="txtInsertName" 
      Text="*" ForeColor="Red" ValidationGroup="Insert" runat="server" ErrorMessage="EmployeeName is required" /> 
     </FooterTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="DEPTID" SortExpression="DEPTID"> 
     <EditItemTemplate> 
     <asp:DropDownList ID="DropDownList1" SelectedValue='<%# Bind("DEPTID") %>' runat="server"> 
      <asp:ListItem>Select Department</asp:ListItem> 
      <asp:ListItem Value="1">SM</asp:ListItem> 
      <asp:ListItem Value="2">CDS</asp:ListItem> 
      <asp:ListItem Value="3">AM</asp:ListItem> 
      <asp:ListItem Value="4">FS</asp:ListItem> 
     </asp:DropDownList> 
     <asp:RequiredFieldValidator ID="rfvEditDept" ControlToValidate="DropDownList1" Text="*" 
      ForeColor="Red" runat="server" ErrorMessage="Department is required" InitialValue="Select Department" /> 
     </EditItemTemplate> 
     <ItemTemplate> 
     <asp:Label ID="Label3" runat="server" Text='<%# Bind("DEPTID") %>'></asp:Label> 
     </ItemTemplate> 
     <FooterTemplate> 
     <asp:DropDownList ID="ddlInsertDeptID" runat="server"> 
      <asp:ListItem>Select Department</asp:ListItem> 
      <asp:ListItem Value="1">SM</asp:ListItem> 
      <asp:ListItem Value="2">CDS</asp:ListItem> 
      <asp:ListItem Value="3">AM</asp:ListItem> 
      <asp:ListItem Value="4">FS</asp:ListItem> 
     </asp:DropDownList> 
     <asp:RequiredFieldValidator ID="rfvInsertDept" ControlToValidate="ddlInsertDeptID" 
      Text="*" ForeColor="Red" ValidationGroup="Insert" runat="server" ErrorMessage="Department is required" 
      InitialValue="Select Department" /> 
     </FooterTemplate> 
    </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
<br /> 
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="Insert" 
    ForeColor="Blue" /> 
<asp:ValidationSummary ID="ValidationSummary2" runat="server" ForeColor="Red" />  

我不確定有什麼問題,所以當我點擊插入鏈接按鈕時,即使我沒有在文本框的底部輸入任何內容,頁面也沒有提交任何錯誤消息。

有人可以幫我嗎?

+0

我可能是錯的,但不驗證在GridView中的控件必須在「EditItem」模板中去? – sh1rts

回答

1

你只是缺少驗證組中使用下列所需域代碼插入LinkBut​​ton。

<asp:LinkButton ID="LinkButton1" runat="server" ValidationGroup="Insert">Insert</asp:LinkButton>&nbsp;&nbsp; 
1

請通過刪除您

與InitialValue =「選擇部門」的ErrorMessage =「處須」

<asp:RequiredFieldValidator ID="rfvInsertDept" ControlToValidate="ddlInsertDeptID" Text="*" ForeColor="Red" ValidationGroup="Insert" runat="server">Department is required</asp:RequiredFieldValidator>