Pregunta

Tengo un campo de fecha y hora en mi modelo que se muestra en un formulario en mi opinión como este:

<div class="editor-field">
    @Html.EditorFor(model => model.Age)
    @Html.ValidationMessageFor(model => model.Age)
</div>

Cuando se crea e inserta un nuevo modelo en mi base de datos, le asigno un valor de 09/11/1990 15:36:22. Si trato de editar este modelo usando mi vista y no cambio el valor de Age Para mi modelo, el modelo se valida y se aceptan y guardan cualquier cambio a otros campos. Sin embargo, si cambio el Age hacer 07/27/2010 15:36:22 Recibo un error de validación " The value '07/27/2010 15:36:22' is not valid for Age. Pero, la fecha 09/12/2010 15:36:22 se valida con éxito. ¿Alguna razón por la que esto está sucediendo? En el depurador, el valor devuelto para fechas no válidas es 01/01/0001.

Editar: Creo que esto tiene que ver con la cultura para jQuery-Validate y mi sistema, ya que la validación del lado del cliente falla en cualquier fecha que esté en formato DD/MM/YYYY, mientras que la validación del lado del servidor está fallando en cualquier fecha que esté en MM /DD/YYYY FORMAT.

¿Fue útil?

Solución

Suponiendo que desea que el modelo funcione en el lado del cliente, lo cambiaría ASP .NET Configuración de globalización para obligar al sistema a utilizar la globalización que desea. Esta es solo una solución válida si espera que los clientes usen su sistema que usan un formato de hora de fecha consistente.

El problema que ha encontrado (creo) es que algunos navegadores no son consistentes sobre la globalización que usan el lado del cliente y la globalización que presentan al mundo en general.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top