Você está na página 1de 6

Controles de validacin

1. VALIDAR LA INFORMACIN n aspecto importante de la programacin de formularios web es poder asegurarse de que la informacin que introduce el usuario y que enva al servidor es informacin vlida. Tenemos a nuestra disposicin una serie de controles de servidor web que nos ayudan a la hora de validar la informacin del usuario de una forma realmente cmoda, ya que generan cdigo til para diversos casos. Pero usted debe entender que utilizarlos tiene como desventaja que se trata de controles de servidor y, por lo tanto, la validacin se realizar normalmente en el servidor. Nosotros sabemos que utilizando un lenguaje de script, como JavaScript, podramos escribir cdigo para que sea el navegador el que se encargue de la validacin en el equipo cliente sin necesidad de enviar la pgina de nuevo al servidor. Est claro que esto es mejor, ya que se evita el tener que enviar la pgina al servidor. Microsoft lo sabe y aunque proporciona controles de servidor para la validacin, sta realmente ocurre en la parte cliente si el navegador admite la tecnologa DHTML. En la prctica, esto quiere decir que el navegador tiene que ser Internet Explorer 4.0 o superior. Pero aunque en este caso la validacin realmente la realice Internet Explorer, sigue siendo una validacin de servidor, por lo que seguiremos pudiendo acceder a los eventos de servidor. Eso tiene tambin la ventaja de evitar que los usuarios puedan deshabilitar la validacin simplemente desactivando la ejecucin de secuencias de comandos en su navegador o cuando es necesario acceder a una base de datos para comprobar alguna informacin. En el caso de que el navegador utilizado por el usuario sea distinto a Internet Explorer 4.0 o superior, la validacin se realizar siempre en el servidor, por lo que la pgina ser enviada (y devuelta en el caso de que no pase la validacin) al servidor web. Sin embargo, usted crear la pgina web de la misma forma y ser el entorno de ejecucin de ASP .NET el que decida cmo y dnde realizar la validacin.
Copyright (c) Computer Aided Education S.A.

Controles de validacin

2. ENTRADA REQUERIDA a primera validacin que podremos efectuar es comprobar que el usuario ha introducido un detalle que hemos establecido como obligatorio. Para ello utilizaremos el control RequiredFieldValidator. Vamos a verlo en el formulario de registro de nuestro sitio de compras tiendaDETALLES.com. Por ejemplo, con el campo Nombre del nuevo cliente.

Normalmente los controles que validan la entrada de otro control se sitan al lado de ste. Tenga en cuenta que no se trata de un control visible inicialmente, sino slo cuando se muestre el mensaje de error.

Deber indicar el control a validar y el mensaje que queremos que se muestre cuando no supere la validacin.

Controles de validacin

En la propiedad ControlToValidate indicamos el control a validar. En la propiedad ErrorMessage introducimos el mensaje que recibir el usuario cuando no introduzca nada en el cuadro de texto del nombre. En la propiedad Text indicamos lo que queremos que aparezca al lado del control a validar. Por ejemplo, podramos utilizar un asterisco. Si no se incluye nada en la propiedad Text, entonces se utiliza el mensaje de error. Utilizaremos el prefijo vld para los controles de validacin de Web Forms. Recuerde que tiene que incluir un RequiredFieldValidator por cada control a validar de esta forma. 3. DISTRIBUCIN DE LOS MENSAJES DE ERROR os controles de validacin presentan una propiedad para introducir el mensaje que recibir el usuario cuando la informacin introducida no sea vlida. Sin embargo, este mensaje no aparece hasta que esto ocurre y, por lo tanto, los controles de validacin no deberan ocupar espacio en la pgina hasta ese momento. Si se produce un error, la pgina se vuelve a crear durante una accin de ida y vuelta al servidor y se incluye el mensaje indicado. Si el navegador del usuario es compatible con DHTML, este mensaje de error aparece inmediatamente, sin necesidad de volver al servidor. Para controlar cmo se muestra el mensaje, puede establecer la propiedad Display de los controles de validacin a alguno de estos valores: Static: en este caso cada control de validacin ocupa espacio aunque no est visible el texto de mensaje porque ha ocurrido un error. Esto permite definir una presentacin fija para la pgina, tanto si se muestran o no los mensajes de error. Por ello, los distintos controles de validacin tienen que tener posiciones distintas y no se pueden superponer. Slo funciona en Internet Explorer 4.0 o posterior.
Copyright (c) Computer Aided Education S.A.

Controles de validacin

Dynamic: los controles de validacin no ocupan espacio hasta que no se muestra el mensaje de error. No obstante, hay que preparar la distribucin de la pgina para ello, ya que puede cambiar cuando se muestran estos mensajes. Se puede superponer ms de un control de validacin si tienen este modo de presentacin. None: el control de validacin no aparece en la pgina. Es necesario Internet Explorer 4.0 o posterior para la presentacin dinmica. Si desea que la pgina tenga un aspecto bueno utilizando otros navegadores, lo mejor es situar los controles en alguna celda de tabla o utilizar un panel con el tamao suficiente para los mensajes de error ms grandes.

4. COMPARACIN CON UN VALOR

tro control de validacin disponible entre los controles de servidor web es CompareValidator.

En este caso sirve para comparar lo que ha introducido el usuario con un determinado valor o incluso con una propiedad de otro control. Por ejemplo, vamos a utilizarlo para comprobar que el usuario no se ha equivocado introduciendo la contrasea que ha elegido. Por lo tanto, los campos contrasea y repetir contrasea tienen que ser iguales.

Las propiedades a establecer en este control son parecidas al control de validacin que ya hemos visto: Display, ErrorMessage, Text, ControlToValidate e ID. Pero adems tiene la propiedad ControlToCompare. En la propiedad ControlToValidate indicamos qu control es el que se comprueba y en ControlToCompare con qu otro control se compara el valor.
4

Controles de validacin

Adicionalmente, con la propiedad Operator indicaremos cmo se realizar la comparacin. Por ejemplo, podramos requerir que fuese un valor mayor, menor o igual.
Introduzca la fecha a comparar con el formato aaaa/mm/dd (ao/mes/da) para que siempre se interprete bien, independientemente de la configuracin regional del equipo del usuario.

Si en lugar de comparar con un control quiere hacerlo con un valor determinado, utilizara la propiedad ValueToCompare y no ControlToCompare. Esto puede servir, por ejemplo, para comparar con una fecha de referencia en lugar del valor de otro control. As, una fecha como 1900/01/01 puede ser la fecha inicial a comparar. Finalmente, en la propiedad Type indicaramos la naturaleza de los valores a comparar. En el caso de las fechas, utilizaramos el valor Date en esta propiedad. Es importante indicar el tipo de datos de los valores a comparar, ya que si no indicamos que se trata de fechas, la comparacin realizada ser como si fueran cadenas de texto.

5. COINCIDENCIA DE MODELOS

odemos incorporar ms de un control de validacin para un control del formulario web.

Por ejemplo, podramos tener un control de validacin para requerir el campo Email y otro control de validacin para comprobar tambin que el texto introducido por el usuario se ajusta a una direccin de correo electrnico. Tenga en cuenta que slo va a poder comprobar si el formato es de una cuenta de correo electrnico, no si realmente es una direccin existente. Para validar ciertas expresiones o coincidencia de modelos, utilizaremos el control de validacin RegularExpressionValidator. Adems de las propiedades Display, ErrorMessage, Text, ControlToValidate e ID, este control dispone de la propiedad ValidationExpression, donde indicaremos qu modelo o expresin se tomar como patrn para comprobar que lo que ha introducido el usuario puede ser correcto.

Copyright (c) Computer Aided Education S.A.

Controles de validacin

Fjese que se indica que puede ser correcto porque realmente no puede asegurarlo, ya que aunque introduzca una direccin que se ajuste al formato del correo electrnico, este tipo de validacin no puede comprobar si realmente es una direccin existente. Podemos utilizar algunas de las expresiones predefinidas para esta propiedad si pulsamos en el botn con puntos suspensivos que aparece al seleccionarla en la ventana Propiedades.

Por ejemplo, para que la contrasea sea como mnimo de 6 caracteres, podra utilizar una expresin como ^[\w]{6,}. Adems, si desea que se permitan varios modelos vlidos, utilice el carcter de barra vertical (|) para separar las expresiones.

Aqu aparecen algunas expresiones comunes que podremos utilizar: para el cdigo postal, nmero de telfono, nmero de la seguridad social, etc. Usted tambin puede crear cualquier expresin para validar una entrada a un formato concreto. Recuerde que para poder disponer varios controles de validacin superpuestos, es necesario que tengan la disposicin Dynamic en su propiedad Display. Fjese lo que estamos consiguiendo con los controles de validacin. En lugar de escribir complejos scripts de cliente para validar la informacin del usuario, estamos simplemente configurando un control. Lgicamente tiene la desventaja de que si el navegador del usuario no admite DHTML, la validacin se llevar a cabo en el servidor, pero conseguimos una funcionalidad compleja con muy poco esfuerzo.

Você também pode gostar