2 个下拉菜单上的 asp CompareValidator

发布于 2024-12-07 21:51:12 字数 583 浏览 3 评论 0原文

场景:

我有以下控件:

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" />
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" />
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1"
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error"
                    Type="String" />

我不希望 2 个下拉菜单具有相同的值,不包括“-1”(任何下拉菜单的默认值)。

我可以使用compareValidator 来实现这一点吗?或者我应该使用javascript?

提前致谢

Scenario:

I have the following controls:

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" />
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" />
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1"
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error"
                    Type="String" />

I don't want the 2 dropDowns to have the same values, excluding "-1" which is the default value of any dropdown.

Can I achieve this using the compareValidator? or should i use javascript?

thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

玩套路吗 2024-12-14 21:51:12

为了比较,比较验证器是正确的。但对于初始值 (-1),您需要为两个下拉列表添加必需的字段验证器。所以用户必须选择值。

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv1" runat="server" ErrorMessage="Please select value" ControlToValidate="dd1" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv2" runat="server" ErrorMessage="Please select value" ControlToValidate="dd2" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1" 
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error" 
                    Type="String" /> 

For comparision, compare validator is correct. But for initial value (-1), you need to add required field validators for both dropdowns. So user must select value.

<telerik:RadComboBox ID="dd1" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv1" runat="server" ErrorMessage="Please select value" ControlToValidate="dd1" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<telerik:RadComboBox ID="dd2" runat="server" ValidationGroup="g1" InitialValue="-1" /> 
<asp:RequiredFieldValidator ID="reqv2" runat="server" ErrorMessage="Please select value" ControlToValidate="dd2" ValidationGroup="g1" InitialValue="-1"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cv" runat="server" ValidationGroup="g1" InitialValue="-1" 
                    ControlToValidate="dd1" ControlToCompare="dd2" Operator="NotEqual" Text="error" 
                    Type="String" /> 
近箐 2024-12-14 21:51:12

单个 CompareValidator 本身无法满足您的需要,但您可以将另一个 CompareValidator 添加到您的设置中。典型的 ASP.NET DropDownList 如果为空则没有默认值。它基于列表中的第一项。我不确定您使用的 telerik 控件是否有默认值 -1,但如果有,那么您可以为每个下拉列表添加一两个 CompareValidators 并设置 ValueToCompare 属性,然后检查 NotEqual:

<asp:CompareValidator ID="cv3" runat="server" ValidationGroup="g1" 
ControlToValidate="lst1" ValueToCompare="-1" Operator="NotEqual" 
Text="Empty value is not allowed" Type="String" />

A single CompareValidator by itself will not do what you need, but you can just add another CompareValidator to your setup there. A typical ASP.NET DropDownList doesn't have a default value if empty. It's based on the first item in the list. I'm not sure if the telerik controls you are using have a default value of -1, but if they do, then you could add one or two CompareValidators for each dropdown and set the ValueToCompare attribute, and check for NotEqual:

<asp:CompareValidator ID="cv3" runat="server" ValidationGroup="g1" 
ControlToValidate="lst1" ValueToCompare="-1" Operator="NotEqual" 
Text="Empty value is not allowed" Type="String" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文