Подтвердить что ты не робот

Как добавить элемент RequiredFieldValidator в DropDownList?

У меня есть DropDownList, связанный с SqlDataSource для отображения значений из базы данных.

Я не могу проверить с помощью RequiredFieldValidator.

4b9b3361

Ответ 1

По большей части вы относитесь к нему так, как будто вы проверяете какой-либо другой вид контроля, но используете свойство InitialValue для обязательного поля validator.

<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="your-dropdownlist" InitialValue="Please select" ErrorMessage="Please select something" />

В основном, это говорит о том, что проверка будет успешной, если в выпадающем списке выбрано любое другое значение, чем 1, установленное в InitialValue.

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

this.ddl1.Items.Insert(0, "Please select");

Ответ 2

Предположим, что ваш раскрывающийся список:

<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>

У вас есть два способа:

<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0"....

второй способ - использовать валидатор сравнения:

<asp:CompareValidator ID="re1" runat="Server" ValueToComare="0" ConroltoCompare="ddl" Operator="Equel"....

Ответ 3

Если вы используете источник данных, здесь другой способ сделать это без кода.

Обратите внимание на следующие ключевые моменты:

  • ListItem Value="0" находится на исходной странице, не добавляется в код
  • ListItem в источнике будет перезаписан, если вы не включите AppendDataBoundItems="true" в DropDownList
  • InitialValue="0" сообщает валидатору, что это значение, которое должен уволить этот валидатор (как указано в других ответах).

Пример:

<asp:DropDownList ID="ddlType" runat="server" DataSourceID="sdsType"
                  DataValueField="ID" DataTextField="Name" AppendDataBoundItems="true">
    <asp:ListItem Value="0" Text="--Please Select--" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvType" runat="server" ControlToValidate="ddlType" 
                            InitialValue="0" ErrorMessage="Type required"></asp:RequiredFieldValidator>
<asp:SqlDataSource ID="sdsType" runat="server" 
                   ConnectionString='<%$ ConnectionStrings:TESTConnectionString %>'
                   SelectCommand="SELECT ID, Name FROM Type"></asp:SqlDataSource>