必填字段验证器下拉列表asp.net

时间:2014-03-10 21:28:06

标签: c# asp.net

我有一个下拉列表,我试图让一个必需的字段验证器为它工作。

   <asp:RequiredFieldValidator ForeColor="Red" InitialValue="0" ID="RequiredFieldValidator4" runat="server" ControlToValidate="dropDownListGender" ErrorMessage="Gender">*</asp:RequiredFieldValidator>    
<asp:DropDownList CssClass="dd" runat="server" ID="dropDownListGender" >
    <asp:ListItem>Male</asp:ListItem>
    <asp:ListItem>Female</asp:ListItem>
    </asp:DropDownList>

任何想法都不会工作和其他验证工作,所以不确定问题是什么

3 个答案:

答案 0 :(得分:0)

默认情况下,为ASP.NET DropDownList生成的HTML select元素将选择第一个元素。要解决此问题,请参阅SO:How to add a RequiredFieldValidator to DropDownList control?

上的答案

答案 1 :(得分:0)

你可以做的另一件事就是像这样使用<asp:comparevalidator>控件:

    <asp:DropDownList CssClass="dd" runat="server" ID="dropDownListGender" >
        <asp:ListItem>Select Gender</asp:ListItem>
        <asp:ListItem>Male</asp:ListItem>
        <asp:ListItem>Female</asp:ListItem>
    </asp:DropDownList>
    <asp:CompareValidator id="cv1" runat="server" controltovalidate="dropDownListGender" 
errormessage="Required" operator="NotEqual" valuetocompare="Select Gender"></asp:CompareValidator>

operator="NotEqual"将完成您的工作。希望这会有所帮助。

答案 2 :(得分:0)

你必须添加一个初始列表项,如下所示: -

<asp:RequiredFieldValidator ForeColor="Red" InitialValue="0" ID="RequiredFieldValidator4" runat="server" ControlToValidate="dropDownListGender" ErrorMessage="Gender">*</asp:RequiredFieldValidator>    
<asp:DropDownList CssClass="dd" runat="server" ID="dropDownListGender" >
    <asp:ListItem Value="0">Please Select</asp:ListItem>
    <asp:ListItem>Male</asp:ListItem>
    <asp:ListItem>Female</asp:ListItem>
    </asp:DropDownList>