Marc Rubiño

ASP.NET, C#, AJAX.NET, JavaScript, etc.

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/

 

 

Posted: 25/9/2008 13:16 por Marc Rubiño | con 4 comment(s)
Archivado en: ,

Comentarios

Marcus Wallace ha opinado:

Como siempre tus conocimientos me son de gran ayuda, gracias por compartirlos.

Un Saludo.

# September 25, 2008 3:15 PM

José A. Fernández ha opinado:

Muy bueno Marc, como siempre!

# September 25, 2008 6:07 PM

Marc Rubiño ha opinado:

Gracias a los dos por pasaros por este sitio ;-)

Saludos.

# September 25, 2008 9:32 PM

Juan Ricardo Gonzalez ha opinado:

Necesito hacer lo mismo con un CheckList, me pude dar alguna idea

# March 13, 2009 3:35 PM
Deja tu comentario

(requerido) 

(requerido) 

(opcional)

(requerido)