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

Проверка Dropdownlist в Asp.net Использование обязательного поля validator

У меня есть Dropdownlist, чье поле значения и текстовое поле привязываются во время выполнения. он имеет --select-- как первый элемент со значением 0 а остальные значения привязываются во время выполнения.

Я дал группу validaton как для элемента управления, так и для валидатора как "g1" и Intialvalue=0

Но все же страница отправляется обратно, даже если я выбираю --select--.

<asp:DropDownList AutoPostBack="true" CssClass="dropdown" ValidationGroup="g1" 
    ID="ddlReportType" runat="server" 
    OnSelectedIndexChanged="ddlReportType_SelectedIndexChanged"></asp:DropDownList>

<asp:RequiredFieldValidator ControlToValidate="ddlReportType" ID="RequiredFieldValidator1"
ValidationGroup="g1" CssClass="errormesg" ErrorMessage="Please select a type"
InitialValue="0" runat="server"  Display="Dynamic">
</asp:RequiredFieldValidator>

И код для привязки выпадающего списка

ddlReportType.Items.Clear();
ddlReportType.DataSource = dt.Tables[0];
ddlReportType.DataTextField = "ReportType";
ddlReportType.DataValueField = "ReportTypeID";
ddlReportType.DataBind();
ddlReportType.Items.Insert(0, new ListItem("--Select--", "0"));
//ddlReportType.Items[0].Value = "0";
ddlReportType.SelectedIndex = 0;
4b9b3361

Ответ 1

<asp:RequiredFieldValidator InitialValue="-1" ID="Req_ID" Display="Dynamic" 
    ValidationGroup="g1" runat="server" ControlToValidate="ControlID"
    Text="*" ErrorMessage="ErrorMessage"></asp:RequiredFieldValidator>

Ответ 2

Здесь используйте asp: CompareValidator и сравните значение с опцией "select".

Используйте Operator="NotEqual" ValueToCompare="0", чтобы пользователь не отправил "select".

<asp:CompareValidator ControlToValidate="ddlReportType" ID="CompareValidator1"
    ValidationGroup="g1" CssClass="errormesg" ErrorMessage="Please select a type"
    runat="server" Display="Dynamic" 
    Operator="NotEqual" ValueToCompare="0" Type="Integer" />

Когда вы делаете это выше, если вы выберете опцию "выбрать" из раскрывающегося списка, отобразится ErrorMessage.

Ответ 3

Добавить InitialValue="0" в поле Обязательный тег проверки поля

 <asp:RequiredFieldValidator InitialValue="-1" ID="Req_ID"
      Display="Dynamic" ValidationGroup="g1" runat="server"
      ControlToValidate="ControlID"
      InitialValue="0" ErrorMessage="ErrorMessage">
 </asp:RequiredFieldValidator>