Tengo un DropDownList
vinculado con un SqlDataSource
para mostrar los valores de la base de datos.¿Cómo agregar un RequiredFieldValidator al control DropDownList?
No puedo validar usando un RequiredFieldValidator
.
Tengo un DropDownList
vinculado con un SqlDataSource
para mostrar los valores de la base de datos.¿Cómo agregar un RequiredFieldValidator al control DropDownList?
No puedo validar usando un RequiredFieldValidator
.
En la mayoría de los casos, 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 cualquier otro valor que el conjunto 1 en InitialValue está seleccionado en la lista desplegable.
Si enlace de datos tendrá que insertar el valor "Por favor seleccione" después de la siguiente manera
this.ddl1.Items.Insert(0, "Please select");
Suponga que su Desplegar lista es:
<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>
tienes dos maneras:
<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0"....
la 2da forma es usar un validador de comparación:
<asp:CompareValidator ID="re1" runat="Server" ValueToComare="0" ConroltoCompare="ddl" Operator="Equel"....
Si el enlace de datos, creo que esto todavía se prefiere antes de insertarlo en su lista. Solo tienes que cambiar la DropDownList para que sea compatible. '
Si está utilizando una fuente de datos, aquí hay otra forma de hacerlo sin código.
Tenga en cuenta los siguientes puntos clave:
ListItem
de Value="0"
está en la página de origen, no se agrega en el códigoListItem
en la fuente se sobrescribirán si no se incluye en AppendDataBoundItems="true"
el DropDownList
InitialValue="0"
le dice al validador que este es el valor que debe activar 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>
La mejor respuesta que he encontrado en mi búsqueda para establecer un valor inicial para una lista desplegable que utiliza un origen de datos SQL. –
tipo HI, * asp: RequiredFieldValidator> este es mi código Todavía no puedo recibir el mensaje cuando envío el botón –
user242375
Después de la vinculación de datos, su lista desplegable contiene un valor para" Seleccionar valor ". He editado mi respuesta para mostrar cómo. – Fishcake
@Fishcake, debe tener InitialValue = "0". Todo lo demás en tu respuesta es bueno. – strider