我有一个从服务器端加载的下拉列表。
<asp:DropDownList ID="ddlOne" runat="server" CssClass="dropDrownClass" Width="80%">
在服务器端,加载下拉菜单后,我添加
-- Please Select --
我想确保如果选择了它,我会显示错误消息。为此我写了
<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”],另一个作为弹出[验证器调用]。同样的消息。
我希望只有验证器标注应该显示消息。
最佳答案
您的验证器将比较下拉列表所选项目的值,而不是文本。最简单的方法通常是为“请选择”项的值设置一个空字符串,为其他项设置一个非空值,然后只需使用 RequiredFieldValidator
.
此外,还有一个 CompareValidator
与 ValueToCompare="-- Please Select --"
和 Operator="Equal"
意思是:检查下拉列表的值,并验证它是否等于“--请选择--”;如果不是,则显示错误。这与您需要的完全相反 - 您想将运算符更改为 Operator="NotEqual"
如果你想采取使用 CompareValidator
的方法.
关于asp.net - asp.net 中下拉列表的验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5089016/