asp.net - net - ¿Cómo agregar un RequiredFieldValidator al control DropDownList?
requiredfieldvalidator for dropdownlist (3)
En su mayoría, lo trata como si estuviera validando cualquier otro tipo de control, pero utiliza la propiedad InitialValue del validador de campo requerido.
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="your-dropdownlist" InitialValue="Please select" ErrorMessage="Please select something" />
Básicamente, lo que está diciendo es que la validación tendrá éxito si se selecciona cualquier otro valor que el 1 establecido en InitialValue en la lista desplegable.
Si se trata de enlace de datos, deberá insertar el valor "Seleccione" después del siguiente modo
this.ddl1.Items.Insert(0, "Please select");
Tengo un DropDownList
enlazado con un SqlDataSource
para mostrar los valores de la base de datos.
No puedo validar el uso de RequiredFieldValidator
.
Si está utilizando una fuente de datos, aquí hay otra forma de hacerlo sin código.
Tenga en cuenta los siguientes puntos clave:
- El
ListItem
ofValue="0"
está en la página de origen, no se agrega en el código - El
ListItem
en el origen se sobrescribirá si no incluyeAppendDataBoundItems="true"
enDropDownList
-
InitialValue="0"
le dice al validador que este es el valor que debe disparar ese validador (como se señala en otras respuestas)
Ejemplo:
<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>
Supongamos que su lista desplegable es:
<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>
Tienes dos formas:
<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0"....
la segunda forma es usar un validador de comparación:
<asp:CompareValidator ID="re1" runat="Server" ValueToComare="0" ConroltoCompare="ddl" Operator="Equel"....