ASP.NET Client Files
 

Fecha: 19/Dic/2004 (17/12/04)
Autor: Luis Alberto Niño de Guzmán Becerra - lninodeguzmanb@hotmail.com

 


Una de los constantes requerimientos al momento de crear paginas que utilicen recursos de lado del servidor es siempre validar lo que el usuario pueda o no escribir en los TextBox, esto con la intención de no enviar peticiones al servidor con datos incompletos o con mal formato, que lo único que logran es que la experiencia de usuario navegando la Web sea relativamente lenta.

Un ejemplo muy común es cuando creamos una pagina de acceso al sistema (login), lo que se necesita validar siempre en esta pagina es que el usuario ingrese su identificador y su contraseña antes de que envíe el requerimiento al servidor mediante el evento Click del Button. (fig1)



fig1

Para la solución de este problema los desarrolladores Web usan código javascript para informarle al usuario que debe ingresar los datos necesarios (identificador y contraseña) para poder realizar la autenticación.

Entonces se tendria que agregar código javascript en la vista HTML de la página con el fin de comprobar si los TextBox contienen datos con los cuales se pueda autenticar al usuario en el servidor. Estas validaciones deben darse en el browser (cliente) y no en el servidor. (fig2)



Ahora, escribir código de validación en cada una de las paginas que conforman nuestro Site es demasiado tedioso, así tengamos funciones javascript en archivos de extensión .JS tendríamos que invocar a las funciones de este archivo y tener un control adecuado de que función usamos para validar cada uno de los TextBox del Site.

ASP.NET presenta una manera mucho más elegante de poder hacer validaciones de este tipo y es mediante el uso del contro llamado RequiredFieldValidator. Este control se ubica en el ToolBox-WebForms de Visual Studio.NET y para poder usarlo solo necesitamos hacer un drag and drop (como si se tratara de un Button o TextBox). (fig3).


fig3

Podemos observar dos controles al lado derecho de los TextBox, estos son los RequiredFieldValidator a los cuales solo tendremos que setearle unas propiedades para su correcto uso.

RequiredFieldValidator1.ControToValidate --ID del control a validar
RequiredFieldValidator1.ErrorMessage --Mensaje que dispara el control
RequiredFieldValidator1.Text --Texto que aparece cuando se encuentra el error

Finalmente usamos el control ValidationSummary para mostrar la información de todos los mensajes ErrorMessage de los RequiredFieldValidator.

El funcionamiento de lo controles RequiredFieldValidator se basa  en el uso de javascript, este código javascript se encuentra en el archivo WebUIValidation.js dentro de la carpeta C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322.(dependiendo de la versión de Framework.NET se este utilizando)

Esto simplifica el tema de validaciones, de manera gráfica, sencilla y casi sin saber de que se trata javascript. No tenemos que hacer script ni siquiera para poder usar este archivo WebUIValidation.js ya el motor de ASP.NET se encarga de incluir el archivo en el HTML al momento de hacer el parser de código ASP a HTML para poder ser utilizado en el browser del cliente.

Para instalar este script en el servidor basta con ejecutar aspnet_regiis -c en la línea de comandos (fig4)

fig4

aspnet_regiis -c instala las secuencias de comandos de cliente para ASP.NET en el subdirectorio aspnet_client de cada uno de los directorios de sitio IIS (por ejemplo, secuencias de comandos de validación del cliente).

Para mas información de la herramienta de IIS en ASP.NET pueden visitar:
http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cptools/html/cpgrfASPNETIISRegistrationToolAspnet_regiisexe.asp


Resumen:
RequeriredFieldValidator basa su funcionamiento en el uso de funciones javascript previamente instaladas en el servidor Web(ASP.NET Client Files). Estos javascript se pueden copiar muy fácilmente usando la herramienta de registro de IIS en ASP.NET (aspnet_regiis -c), hay que tener en cuenta que si este que estos archivos javascript no se encuentran el funcionamiento de los validadores será incorrecto.

Luis Alberto Niño de Guzmán Becerra
Lima - Perú

 


ir al índice