Je rencontre des problèmes lors de l'ajout de méthodes de validation à quelques commandes de mon application MVC. J'utilise ce qui suit pour tester le format mm/jj/aaaa:Problèmes de validation de l'état du modèle asp.NET MVC
if (!Regex.IsMatch(candidateToEdit.availability.StartDate.ToShortDateString(), @"giantregex"))
ModelState.AddModelError("availability_StartDate", "Start date must be in the mm/dd/yyyy format.");
//giantregex is a giant regular expression omitted for clarity
À mon avis, j'ai:
<%= Html.ValidationSummary("Edit was unsuccessful. Please correct the errors and try again.") %>
<%= Html.ValidationMessage("availability_StartDate", "*")%>
Pour une raison quelconque le texte d'erreur n'est pas affiché, il reconnaît qu'il est une erreur et le début de la liste est généré, mais la "Date de début doit être au format mm/jj/aaaa". n'est pas affiché. Il valide si vous mettez correctement la date.
Votre validation se produit-elle dans une vue partielle (alias UserControl)? J'ai eu ce problème mais seulement pour la validation des entrées dans les vues partielles. – cfeduke
Non, c'est une vue normale. –
Et si l'utilisateur entre une date comme 2/31/2009? Vous ne pouvez pas valider une date avec une regex. – Paco