我有一个下拉列表,是从服务器端加载的。
<asp:DropDownList ID="ddlOne" runat="server" CssClass="dropDrownClass" Width="80%">
在服务器端,加载下拉列表后,我要添加
我想确保如果选择了该选项,那么我将显示错误消息。为此,我写了
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToValidate="ddlOne" ValueToCompare="-- Please Select --" Operator="Equal" Type="String" ErrorMessage="CompareValidator"></asp:CompareValidator>
<asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" TargetControlID="CompareValidator1" runat="server">
</asp:ValidatorCalloutExtender>
但是,只要我在下拉列表中选择任何内容,它就会向我显示错误消息。
当我将验证器更改为
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToValidate="ddlOne" ValueToCompare="0" Operator="Equal" Type="Integer" ErrorMessage="CompareValidator"></asp:CompareValidator>
除第一个选项-请选择-之外,我在所有选择中均收到错误消息。
请让我知道如何验证下拉列表的第一项
第2期
我收到双重消息,一个消息在下拉列表下(该消息以红色显示错误“Carson63000”),另一个消息作为弹出窗口(验证程序调用)。相同的消息。
我希望只有验证者标注才能显示该消息。
最佳答案
您的验证程序将比较下拉菜单中所选项目的值,而不是文本。最简单的方法通常是对“Please Select”项的值使用一个空字符串,对其他项使用一个非空值,然后仅使用RequiredFieldValidator
。
另外,带有CompareValidator
和ValueToCompare="-- Please Select --"
的Operator="Equal"
意味着:检查下拉列表的值,并验证其等于“-Please Select-”;如果不是,则显示错误。这与您所需要的完全相反-如果您想采用使用Operator="NotEqual"
的方法,则希望将运算符更改为CompareValidator
。