jueves, 26 de agosto de 2010

Validar fecha con formato MM-DD-YYYY

Expresión:(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d
Esta expresion nos permite validar una fecha con el formato MM-DD-YYYY. Ahora veamos un ejemplo de como podemos utilizarlo en una clase en Csharp trabajando en un ambiente Web:

Para esto debemos utilizar primeramente un objeto RegularExpressionValidator de nuestros controles Asp que nos provee Vstudio en el grupo de controles llamado Validation ubicado en el toolbox. Lo arrastramos y verificamos su propiedades:



Aquí tenemos una propiedad importante llamada ControlToValidate que es donde especificamos que control es que vamos a validar, recuerden especificarlo. Luego tenemos Display, yo uso siempre Dynamic por que como su nombre lo dice... es dinamico. Luego tenemos la propiedad ErrorMessage que es el mensaje de error que deseamos mostrar cuando el control valide y le escritura sea incorrecta. Seguimos con ValidationExpression, es la propiedad donde escribimos o seleccionamos una expresion regular. El control nos facilita algunas expresiones regulares como para validar E-mails, Telefonos entre otros.
Hacemos clic en el boton de la propiedad ValidationExpression y aparecera un cuadro con las opciones de expresiones regulares disponibles y la opcion de escribir una personalizada u otra que necesitemos, ahi escribimos nuestra expresion regular:
(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d.

Validation Group es la próxima propiedad que modificamos y ponemos un 1. Ahora para que todo esto funcione debemos de llamar el método Page.Validate() para que los controles de validation que estemos utilzando funcionen correctamente. Luego con un if(page.Isvalid()) ponemos lo que deseamos así por ejemplo:

Validate();
if(page.isvalid())
{//si es valido pasar a otra pagina
response.redirect("pagina.aspx");
}

Luego les estaré facilitando mas expresiones regulares. Espero le haya sido útil.

2 comentarios:

  1. Muy bueno, me funciono a la perfección. Gracias

    ResponderEliminar
  2. Me manda un error que no puedo utilizar un método page no invocable

    ResponderEliminar

DEJA UN COMENTARIO