4

出於某種原因,當我做錯事情時,我無法讓驗證器提升標誌。Dropdownlist和字段驗證導致暴動

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

引發任何標誌說: 「嘿 - U搞砸了,去修它」。對於所有的谷歌,搜索,評論,擺動大錘,我還沒有發現我做錯了什麼。

我只想要一個解決方案來解決所有問題。

哦,是的,我還有一個ValidationGroup="myGroup"之間的DDL,RFV/CV和按鈕。沒有運氣。

+0

複製並將其轉換爲解決方案,它的工作原理很好。你有沒有嘗試過在父數據控制之外使用它來知道這個工作是否正確?因爲,不知道爲什麼,但也許是因爲你的'SelectedValue ='<%#綁定(「類型」)%>''。順便說一句,只是看到它不驗證它在Page_Load上,但如果你嘗試對具有相同驗證組的按鈕做回發,它應該驗證它。 – 2011-06-09 20:11:03

回答

1

您的代碼是正確的。你必須有一些妨礙驗證器功能的代碼或標記元素。是否可能「 - 」項目的value從「-1」更改爲其他內容?

驗證您提交表單的按鈕是否有CausesValidation=True。此外,請確保驗證程序的父級未設置爲Visible=False,否則子級不會在頁面上呈現。

驗證RequiredFieldValidatorCompareValidator通過在輸出的標記中搜索「_cv」或可能的「cv」在標記中呈現。如果它不在那裏,那麼其中一個父元素沒有被渲染或驗證器被刪除。

+0

CausesValidation是缺失的觸發器。隊友的歡呼聲。 – DoStuffZ 2011-06-10 06:35:12