我有一个下拉列表,我试图让一个必需的字段验证器为它工作。
<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>
任何想法都不会工作和其他验证工作,所以不确定问题是什么
答案 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>