¿Cómo valido correctamente DateTime en una situación CRUD para un modelo dentro de un proyecto MVC?

Tengo usuarios que seleccionan DateTime usando una ventana emergente de calendario/reloj que les permite hacer una selección. Sin embargo, si tuvieran que entrar y editar la fecha para leer algo como: 6/12/201 10:36:47 AM en lugar de 6/12/2012 10:36:47 AM mi acción supera la verificación ModelState.IsValid y aparece un error cuando el controlador intenta guardar el objeto en la base de datos (con razón).

¿Cómo valido correctamente DateTime en esta situación? (Quiero evitar que un usuario pueda 'enviar' el formulario si la fecha y hora no tiene el formato correcto)

Nota: actualmente tengo en su lugar jquery.validate y normalmente (los campos no DateTime) Yo suelo @Html.ValidationMessageFor(model => model.Field) - Esto no parece hacer nada por mi actual DateTime campos cuando tienen un formato inapropiado.

preguntado el 12 de junio de 12 a las 16:06

¿Tiene también validación de datos del lado del servidor, porque la validación del lado del cliente podría no ser suficiente? -

Entonces puede continuar, ya que puede validar y notificar a los usuarios con un mensaje de error/advertencia. -

2 Respuestas

simplemente puede agregar el validador del lado del cliente de fecha para su campo DateTime usando un fragmento como ese:

        $(element).rules('add', {
        date: true,
    });

donde "elemento" es su entrada para el campo DateTime.

Respondido el 12 de junio de 12 a las 17:06

¿Está seguro de que está importando todos los archivos js de validación necesarios? parece que la validación de su servidor funciona bien, pero el cliente no hace nada. Sugiero leer la siguiente publicación de Brad Wilson: aquí

Respondido el 12 de junio de 12 a las 17:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.