Выпадающий список и проверка полей вызывают бунт - PullRequest
4 голосов
/ 09 июня 2011

По какой-то причине я не могу заставить валидатор поднять флаг, когда я делаю что-то не так.

<asp:DropDownList ID="ddlTypeList" runat="server" DataSourceID="ods_TypeOptions" DataTextField="name" DataValueField="id" SelectedValue='<%# Bind("Type") %>' AppendDataBoundItems="true"><br> <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 и кнопкой.Не повезло.

1 Ответ

1 голос
/ 10 июня 2011

Ваш код правильный. У вас должен быть какой-то элемент кода или разметки, который препятствует функциональности валидатора. Возможно ли, что элемент "-" изменил value с "-1" на что-то еще?

Убедитесь, что ваша кнопка, отправляющая форму, имеет CausesValidation=True. Также убедитесь, что родительский элемент валидаторов не установлен на Visible=False, иначе дочерние элементы не будут отображаться на странице.

Убедитесь, что RequiredFieldValidator и CompareValidator отображаются в разметке, выполнив поиск "_cv" или, возможно, "cv" в выходной разметке. Если его там нет, то один из родительских элементов не отображается, или валидаторы удаляются.

...