asp.net - asp.net 中下拉列表的验证器

标签 asp.net drop-down-menu validation

我有一个从服务器端加载的下拉列表。

<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 .

此外,还有一个 CompareValidatorValueToCompare="-- Please Select --"Operator="Equal"意思是:检查下拉列表的值,并验证它是否等于“--请选择--”;如果不是,则显示错误。这与您需要的完全相反 - 您想将运算符更改为 Operator="NotEqual"如果你想采取使用 CompareValidator 的方法.

关于asp.net - asp.net 中下拉列表的验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5089016/

相关文章:

javascript - CSS 样式不适用于第二个下拉菜单

javascript - 根据条件禁用验证控件

javascript - 你能帮我使用 php preg_replace 重写我的 javascript 正则表达式吗?

asp.net - Asp.net 中的 Windows Workflow 4

c# - 将所有文件从源文件夹复制到目标文件夹重命名所有文件,同时在 asp.net c# 中处理

c# - 在 C# 的下拉框中显示数据库值时出错

php - MySQL 和 PHP 从下拉列表中删除行

c# - 如何拆分文件名和扩展名

asp.net - 有哪些优秀的 SQL Server 2008 w/ASP.NET 网站托管提供商?

javascript - 带破折号分隔符的 RegEX 14 位数字验证