lunes, 30 de abril de 2012

04 - Validadores en ASP.Net

NOTA: Ante todo explicar que este manual es un ejercicio completo, por lo que recomiendo que si desena estudiarlo partan desde el principio

Existen tipos de validadotes que se pueden utilizar en asp.net los cuales facilitan la codificación de los mismos, estos validadotes se explican a continuación.

RequiereFieldValidator. Verifica que se ingrese un valor dentro de un control que se encuentra asociado a este control de validación.

Para ver como funciona este control crearemos un formulario que no se encuentra asociado a ninguna plantilla Master:

  1. Crear el formulario al cual llamaremos frmValidacion
  1. Definir este formulario como formulario de inicio.

Agregar los siguientes controles al formulario:

txtUserName

txtPwd

txtPwdCfm

txtAnio

txtFono

  1. Agregaremos los siguientes label

lblUsuario - Usuario:

lblPws - Password:

lblOwsCnf - Confirmar Password:

lblAnio - Años (18-100):

lblFono - Número de Teléfono:

  1. Agregar un botón con el valor de despliegue definido en OK.

Agregar un control de validación por cada TextBox que se aya creado y asociar cada TextBox a un validador con su mensaje específico:

rfvUsuario, ControltoValidate = txtUsuario, ErrorMessage = Requiere Usuario.

rfvPws, ControltoValidate = txtPassword, ErrorMessage = Requiere Password.

rfvPwsCnf, ControltoValidate = txtPwsCnf, ErrorMessage = Requiere Confirmación de Password.

rfvAnio, ControltoValidate = txtAnio, ErrorMessage = Requiere ingreso de Año.

rfvFono, ControltoValidate = txtFono, ErrorMessage = Requiere Teléfono.

Para todos Display = Dinamic.

Quedando la interfaz de la siguiente forma:

Si se ejecuta y no se han ingresado valores, se desplegarán los siguientes mensajes:




CompareValidator. Compara dos valores de dos controles distintos que se han definido, verificando si los valores son iguales. Para comparar si dos campos son iguales se deben seguir los siguientes pasos:

  1. Incluir un control CompareValidator en la solución, en la fila en donde se encuentra el control txtPwsCnf.
  1. Definir el nombre del ControlCompareValidator con el siguiente nombre y definiendo los siguientes controles:

Id: cpvPassword

ControlToCompare: txtPwsCnf

ControlToValidate: txtPws

ErrorMessage: Las password no son iguales

  1. Definir los tipos de los txt de password con el TextMode = Password
  1. Ejecutar solución.
  1. Cambiar el estado del validador de comparación de password a:

EnableClientScript = false;

  1. En el método que controla el evento clic del botón OK, agregar la siguiente línea de código.

if (Page.IsValid)

Response.Redirect("default.aspx");

  1. Ejecutar la solución y Verificar que las password sean iguales


RangeValidator. Permite verificar un rango definido, En el ejercicio que estamos realizando verificaremos que el rango de edad que se está ingresando se encuentre entre 18 y 100.

  1. A la solución de ejemplo, ingresar un control RangeValidator.

Id = RgvAnio,

ErrorMessage = El valor no se encuentra en el rango,

Display = Dinamic.

ControlToValidate = txtAnio.

MaximunValue = 100

MinimunValue = 18

Type = Integer

  1. Ejecutar solución.



RegulasExpressionValidator. Permite validar los valores ingresados mediante expresiones regulares, existen ciertas expresiones regulares definidas, que permiten validar formatos específicos, si se desea validar un formato que no se encuentra definido, se deben definir las expresiones regulares que se utilizarán. Para definir validadotes mediante expresiones regulares, se debe:

  1. Incluir el control RegularExpressionValidator a la solución que se está construyendo, definiendo los siguientes parámetros:

Id = revFono

ControlToValidate = txtFono

ErrorMessage = El formato debe ser (###) ###-####

Display = Dinamic

ValidationExpression = ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}

  1. Ejecutar la solución.
  1. Ingresar un valor con el formato definido:


Ahora agregar un formato como el que se indica y volver a ingresar.


Validation Summary. Rescata automáticamente todos los mensajes de error que se han definido con los controles ya antes mencionados. Para utilizar este control realizaremos las siguientes operaciones:

  1. Arrastrar desde el cuadro de herramientas el control ValidationSummary y lo ubicaremos al final de los objetos de la interfaz que se ha definido.
  1. En la propiedad Text de cada uno de los controles de mensajes definidos agregaremos el siguiente texto “*”.
  1. Ejecutar la solución y ver como se despliegan los mensajes.

No hay comentarios: