Principales respuestas
Control Validator controlar que formatear fechas

Pregunta
-
Buenas, necesito controlar que la fecha introducida tiene un formato correcto y es mayor que el dia actual, he probado con el WebControl compareValidator en el atributo type he puesto date y en el valueToCompare he puesto System.DateTime.Now, pero me da el siguiente error:
El valor 'System.DateTime.Now' de la propiedad ValueToCompare de 'CompareValidator5' no se puede convertir en el tipo 'Date'.
Gracias y Saludos
Respuestas
-
Buenos días,
Efectivamente DatePicker no existen como Web Control, y no lo entiendo por que los ingenieros de microsoft no lo han icluido, será porque hay web control en ASP.Net mucho más importantes que han incluido en la versión 2.0, como pueden ser HiddenField, FileUpload, Wizard, Localize, etc.
Pero siempre tienes la opción componentes de terceros que no voy a decir el nombre la empresa por no hacer publicidad gratuita
Para ello te recomiento que veas la siguiente página donde se encuentra un listado de web control
http://www.asp.net/ControlGallery/default.aspx?Category=43&tabindex=0
también existe en el codeproject
Te recomiendo que utilice el que más te guste hasta que microsoft incluya el suyo.
En espera que haya sido de utilidad este post
Un saludo.
Todas las respuestas
-
-
-
Buenos días,
Efectivamente DatePicker no existen como Web Control, y no lo entiendo por que los ingenieros de microsoft no lo han icluido, será porque hay web control en ASP.Net mucho más importantes que han incluido en la versión 2.0, como pueden ser HiddenField, FileUpload, Wizard, Localize, etc.
Pero siempre tienes la opción componentes de terceros que no voy a decir el nombre la empresa por no hacer publicidad gratuita
Para ello te recomiento que veas la siguiente página donde se encuentra un listado de web control
http://www.asp.net/ControlGallery/default.aspx?Category=43&tabindex=0
también existe en el codeproject
Te recomiendo que utilice el que más te guste hasta que microsoft incluya el suyo.
En espera que haya sido de utilidad este post
Un saludo.
-
Utiliza el control de Expresion Regular
Validando el Campo que deseas
Con la siguiente expresion:
[ ^(?=\d)(?
?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?
?
?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?
?:16|[2468][048]|[3579][26])00)))(?:\x20|$))|(?:2[0-8]|1\d|0?[1-9]))([-./])(?:1[012]|0?[1-9])\1(?:1[6-9]|[2-9]\d)?\d\d(?
?=\x20\d)\x20|$))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20
M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$ ]
Sin en primer [ ni el ultimo ]
Ojala te sirva, saludos.
-
Para Controlar que la fecha tenga el formato correcto tenes que usar el control CompareValidator de la siguiente forma:
<asp:CompareValidator runat="server" ID="cvFormatoFechaCorrecto" ControlToValidate="ControlAValidar" Operator="DataTypeCheck" Type="Date" />
De esta forma hace la validación del tipo de dato.
Para Controlar que sea mayor al día actual usa otro CompareValidator de la siguiente forma:
<asp:CompareValidator runat="server" ID="cvMayorAFechaActual" ControlToValidate="ControlAValidar" Operator="GreaterThan" Type="Date" />
y en el CodeBehind tenes que poner lo siguiente (en C#)
cvMayorAFechaActual.ValueToCompare = DateTime.Today.ToShortDateString();
Espero que te sirva, saludos.