4

出于某种原因,当我做错事时,我无法让验证者举旗。

<asp:DropDownList ID="ddlTypeList" runat="server" DataSourceID="ods_TypeOptions" DataTextField="name" DataValueField="id" SelectedValue='<%# Bind("Type") %>' AppendDataBoundItems="true">
<asp:ListItem Text="-" Value="-1" Selected="True"></asp:ListItem> </asp:DropDownList>

下拉列表有很好的值,包括初始虚拟值。

两者都不

<asp:RequiredFieldValidator ID="rfw" runat="server" ControlToValidate="ddlTypeList" InitialValue="-1" ToolTip="Required">*</asp:RequiredFieldValidator>

也不

<asp:CompareValidator ID="cv" runat="server" ControlToValidate="ddlTypeList" ValueToCompare="-1" Operator="NotEqual" ToolTip="Required">*</asp:CompareValidator>

举起任何旗帜说“嘿 - 你搞砸了,去修复它”。对于所有的谷歌、搜索、评论、挥舞大锤,我还没有发现我做错了什么。

我只想要一种解决方案来解决所有问题。

哦,是的,我ValidationGroup="myGroup"在 DDL、RFV/CV 和按钮之间也有一个。没运气。

4

1 回答 1

1

你的代码是正确的。您必须有一些阻碍验证器功能的代码或标记元素。“-”项是否可能value从“-1”更改为其他内容?

验证提交表单的按钮是否具有CausesValidation=True。此外,请确保验证器的父级未设置为,Visible=False否则子级将不会在页面上呈现。

通过在输出的标记中搜索“_cv”或可能的“cv”来验证RequiredFieldValidator和是否在标记中呈现。CompareValidator如果它不存在,则没有呈现父元素之一或正在删除验证器。

于 2011-06-10T02:46:38.233 回答