MVC 4 comment valider une date non américaine avec la validation du client?
J'ai une situation où j'ai du mal avec le côté client de la validation d'un champ datetime. Lorsque j'essaie d'envoyer, il continue à me dire la date n'est pas valide (27/7/2013). Mais si je tourne la date en format AMÉRICAIN, il fonctionne (07/27/2013).
Mon point de vue, le modèle se présente comme suit,
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? AuditDate { get; set; }
Index.html
@Html.TextBoxFor(m => m.AuditDate)
J'ai mis à jour mon site web.config
<globalization culture="en-AU" uiCulture="en-AU" />
Qu'ai-je manqué?
Grâce
source d'informationauteur user2206329
Vous devez vous connecter pour publier un commentaire.
Quelqu'un d'autre triés cela pour moi, il était tout à voir avec le côté client Jquery de validation.
Merci encore asymptoticFault.. vous rock..
MVC 4 date de la culture de l'enjeu?
Voici l'info de ce lien que j'ai utilisé...
Le problème est le jQuery de validation ne tenant pas compte de la culture lors de l'analyse d'une date. Si vous éteignez le côté client de la validation de la date est analysée très bien sur le serveur, qui est conscient de la culture.
La solution est de remplacer le jQuery de validation de date et d'inclure un supplément de jQuery mondialisation plugin. Vous pouvez trouver la mondialiser plugin ici. Vous pouvez facilement télécharger le plugin en utilisant le Gestionnaire de Package Nuget. Je viens d'ouvrir le gestionnaire de paquets, choisis l'onglet en Ligne sur la gauche et tapé "mondialiser" dans le moteur de recherche et il a été le premier résultat. Une fois que vous avez installé, j'ai inclus ces deux fichiers:
Vous pouvez les inclure directement à l'aide d'une balise de script ou de les placer dans un bundle, peut-être avec l'autre jQuery validation des fichiers.
Une fois que vous avez ceux que vous aurez besoin d'ajouter le script suivant pour remplacer le jQuery de validation pour la date:
Client les questions de validation peut se produire en raison de la MVC bug (même en MVC 5) dans jquery.validate.unobtrusive.min.js qui n'accepte pas la date/datetime format d'une manière. Malheureusement, vous avez à résoudre manuellement.
Ma dernière solution de travail:
Vous avez à faire avant:
Vous pouvez installer moment.js aide:
Et puis vous pouvez enfin ajouter un correctif pour le format de date de l'analyseur:
Lors de l'utilisation de jQuery de validation pour les dates, vous découvrirez qu'il ne fonctionne pas bien pour les dates à l'aide de Chrome. Cela se produit lorsque vous utilisez un non-US locale.
La solution a présenté à La fixation de jQuery non-US Date de Validation pour Chrome
Essayez avec cette,
Vue
Modèle