Como Validar un ListBox (CustomValidator)

Siguiendo con las respuestas en los foros hoy voy a explicar como poder validar si tenemos seleccionado un elemento de una lista.


 http://forums.microsoft.com/MSDN-ES/ShowPost.aspx?PostID=3922327&SiteID=11


Para poder realizar esto de la forma más simple y que sea compatible con los otros validadores utilizaré un CustomValidator.


Crearé un formulario con una lista un customValidator y un botón para provocar la recarga de la página.


 


Para que la validación no influya en el rendimiento de la aplicación validaremos en el cliente y crearemos una función javascript para la validación.


<script type=“text/javascript”>
function ValidarListaSeleccionada(source, arguments)
{
var list = document.getElementById(source.controltovalidate);
if( list != null)
{
var listValue = list.value;
if(listValue ==””)
arguments.IsValid=false;
else
arguments.IsValid=true;
}
}
</script>

Este script es muy simple pero muy eficaz ;-).


Para crear una función que podamos utilizar con customValidator tiene que tener dos parámetros:




  • source: el control que lanza la validación (Nuestro customValidator).


  • arguments: donde informaremos si la validación ha tenido éxito o no. (arguments.IsValid=true)

La validación consiste en localizar el control que queremos validar gracias a la propiedad controltovalidate del customValidator y recuperar el valor seleccionado de la lista. Si el valor esta vacío quiere decir que el usuario no ha seleccionado nada.


 Una vez que tenemos la función creada configuraremos el validador para que la utilice.


<asp:CustomValidator ID=“CustomValidator1” runat=“server”
ControlToValidate=“ListBox1”
ErrorMessage=“Tienes que seleccionar un elemento de la lista.”
ClientValidationFunction=“ValidarListaSeleccionada”
ValidateEmptyText=“True”>
</asp:CustomValidator>

Importante:




  • ControlToValidate: 😉


  • ClientValidationFunction: La función JavaScript que hemos creado antes.


  • ValidateEmptyText: Para que valide el control aunque no se haya seleccionado.

 Y con esto ya hemos creado un validador personalizado para nuestra lista.


 


Happy Coding


Cross-posting http://lonetcamp.com/


 


 

10 comentarios en “Como Validar un ListBox (CustomValidator)”

  1. Este es todo el código que necesitas.
    Tienes el script que puedes copiar en tu página y en el validador pones el nombre de la función del script en ClientValidationFunction=”ValidarListaSeleccionada”

    Con eso lo tienes todo.

    Saludos.

  2. pero es que sale esto “Element ‘CustomValidator’ is not known element.this can occur if there is compilation error in web site or web.config file is missing.

    gracias por la respuesta tan rapida!

    saludos

  3. Hola, he estado leyendo este articulo y me parece muy interesante, y me ha servido de mucho, pero no le encuentro la forma de validar un listbox que tiene forma de checklist. ¿tiene alguna idea de como hacerlo?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *