Question

J'ai un champ DateTime dans mon modèle qui est montré sous une forme à mon avis comme ceci:

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

Lorsqu'un nouveau modèle est créé et inséré dans ma base de données, je lui attribue une valeur de 09/11/1990 15:36:22. Si j'essaie de modifier ce modèle en utilisant ma vue et ne modifie pas la valeur de Age Pour mon modèle, le modèle est validé et toute modification des autres champs est acceptée et enregistrée. Cependant, si je change le Age se déplacer vers 07/27/2010 15:36:22 J'obtiens une erreur de validation " The value '07/27/2010 15:36:22' is not valid for Age. Mais, la date 09/12/2010 15:36:22 est validé avec succès. Une raison pour laquelle cela se produit? Dans le débogueur, la valeur renvoyée pour les dates non valides est 01/01/0001.

Edit: Je pense que cela a à voir avec la culture de jQuery-Validate et mon système, car la validation côté client échoue à toute date qui est au format DD / MM / YYYY, tandis que la validation côté serveur échoue à toute date qui est dans MM / Format dd / yyyy.

Était-ce utile?

La solution

En supposant que vous souhaitez faire fonctionner le modèle du côté client, je vous modifierais les paramètres de mondialisation ASP .NET pour forcer le système à utiliser la mondialisation souhaitée. Ce n'est vraiment qu'une solution valide si vous vous attendez à ce que les clients utilisent votre système qui utilisent un format de date de date cohérent.

Le problème que vous avez rencontré (je pense) est que certains navigateurs ne sont pas cohérents quant à la mondialisation qu'ils utilisent le côté client et la mondialisation qu'ils présentent dans le monde entier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top