必需的字段验证器不适用于DropDownList

时间:2014-02-17 15:47:01

标签: asp.net

为什么验证器不在此处工作。但它适用于其他文本框控件。 没有错误。它只是回发。

<asp:DropDownList Id="ddlCustomer" runat="server" AppendDataBoundItems="true"
 DataTextField="customername" DataValueField="customerid">
<asp:ListItem Text="--Select--" Value="0"></asp:ListItem> 
<asp:ListItem Text=" < Add New > " Value="0"></asp:ListItem>
</asp:DropDownList>

<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
initialvalue="--Select--"></asp:RequiredFieldValidator>

2 个答案:

答案 0 :(得分:4)

initialValue应该是“0”而不是文字“ - 选择 - ”

如下所示

<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
initialvalue="0"></asp:RequiredFieldValidator>

答案 1 :(得分:3)

您已在--Select--中将初始值设为RequiredFieldValidator,但没有项目的值为--Select--,RequiredFieldValidtor在获取项目的值等于{时触发{1}}。所以在这种情况下它永远不会发射。

您需要将值InitialValue放在验证程序的0中,或更改DropDown第一项的值。

InitialValue

OR

<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
InitialValue="0"></asp:RequiredFieldValidator>

但我建议你使用第一种方法。