validar vacio saber net esta ejemplos dropdownlist como asp asp.net requiredfieldvalidator

vacio - Validación de lista desplegable en Asp.net usando un validador de campo requerido



requiredfieldvalidator dropdownlist (4)

Agregue InitialValue="0" en la etiqueta del validador de campo requerido

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

Tengo una lista desplegable cuyo campo de valor y campo de texto están vinculados en tiempo de ejecución. tiene --select-- como primer elemento con un valor de 0 y el resto de los valores están vinculados en tiempo de ejecución.

He dado un grupo de validación tanto para el control como para el validador como "g1" e Intialvalue=0

Pero aún así, la página se está devolviendo aunque seleccione la opción --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>

Y código detrás para enlazar el menú desplegable

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;


Aquí use asp: CompareValidator y compare el valor con la opción "seleccionar".

Use Operator="NotEqual" ValueToCompare="0" para evitar que el usuario envíe el "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" />

Cuando lo haga arriba, si selecciona la opción "seleccionar" del menú desplegable, mostrará el ErrorMessage .


Estuve luchando con esto durante unos días hasta que me topé con el problema cuando tuve que construir un nuevo menú desplegable. Tuve varios controles DropDownList e intenté que la validación funcionara sin suerte. Uno fue enlazado y el otro se llenó desde la página aspx. Necesitaba descartar el archivo de base de datos y agregar una segunda lista manual. En mi caso, los validadores fallaron si construyó un menú desplegable como este y miró cualquier valor (0 o -1) para un validador requerido o de comparación:

<asp:DropDownList ID="DDL_Reason" CssClass="inputDropDown" runat="server"> <asp:ListItem>--Select--</asp:ListItem> <asp:ListItem>Expired</asp:ListItem> <asp:ListItem>Lost/Stolen</asp:ListItem> <asp:ListItem>Location Change</asp:ListItem> </asp:DropDownList>

Sin embargo, agregar el valor inicial como este funcionó instantáneamente para un validador de comparación.

<asp:ListItem Text="-- Select --" Value="-1"></asp:ListItem>


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