Validación de fecha con el validador de ASP.NET

Estoy tratando de usar un ASP.NET RangeValidator para validar una fecha en un cuadro de texto. El formato de la fecha ingresada en el cuadro de texto es dd MMMM yyyy .

¿Cómo puedo usar el validador de rango para validar una fecha válida? Si ingreso el 1 de enero de 1000 como el valor mínimo o máximo, aparece un error que indica que el valor no se puede convertir a tipo fecha, pero si utilizo otro formato, el texto ingresado no es válido.

A continuación está mi código:

      

La mejor opción sería

Agregue un validador de comparación al formulario web. Establezca su control para validar. Establezca su propiedad Type en Date. Establezca su propiedad de operador en DataTypeCheck, por ejemplo:

   

Un CustomValidator también funcionaría aquí:

  

Código detrás:

 protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args) { DateTime minDate = DateTime.Parse("1000/12/28"); DateTime maxDate = DateTime.Parse("9999/12/28"); DateTime dt; args.IsValid = (DateTime.TryParse(args.Value, out dt) && dt < = maxDate && dt >= minDate); } 

Creo que la siguiente es la forma más fácil de hacerlo.

   

Creo que las fechas deben especificarse en la cultura actual de la aplicación. Es posible que desee experimentar con la configuración de CultureInvariantValues en true y ver si eso resuelve su problema. De lo contrario, es posible que deba cambiar DateTimeFormat para la cultura actual (o la cultura en sí) para obtener lo que desea.