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

问题描述 投票:1回答:2

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

<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>
asp.net
2个回答
4
投票

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

如下

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

3
投票

你在--Select--中给出了RequiredFieldValidator的初始值,但是没有任何项目的值为--Select--,RequiredFieldValidtor在获得项目的值等于InitialValue时触发。所以在这种情况下它永远不会开火。

您需要将值作为0放在验证器的InitialValue中,或者更改DropDown的第一项的值。

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

要么

<asp:ListItem Text="--Select--" Value="--Select--"></asp:ListItem> 

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

© www.soinside.com 2019 - 2024. All rights reserved.