none
Control Validator controlar que formatear fechas RRS feed

  • 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

    viernes, 8 de junio de 2007 20:03

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.

     

     

    lunes, 11 de junio de 2007 14:40

Todas las respuestas

  • En mi opinión esta validación sería mucho más sencilla utilizando la propiedad MinDate del control DateTimePicker.

     

    Code Snippet

    DateTimePicker1.MinDate = DateTime.Today.AddDays(1)

     

     

    Un saludo!

    viernes, 8 de junio de 2007 20:45
  • Es que es una aplicación Web y no encuentro ese control.

     

    Saludos.

    sábado, 9 de junio de 2007 8:21
  •  

    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.

     

     

    lunes, 11 de junio de 2007 14:40
  • Utiliza el control de Expresion Regular

    Validando el Campo que deseas

     

    Con la siguiente expresion:

     

    [ ^(?=\d)(?Sad?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?Sad?Sad?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?Sad?: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(?Sad?=\x20\d)\x20|$))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20TravelM))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$ ]

     

    Sin en primer [ ni el ultimo ]

     

    Ojala te sirva, saludos.

    martes, 3 de julio de 2007 17:30

  • 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.
    miércoles, 29 de octubre de 2008 13:36