2008-12-05 10 views
2

Je construis une application ASP.NET MVC avec un formulaire à valider. La majorité du formulaire est statique, mais une partie du formulaire est dynamique.Asp.net MVC validant le formulaire dynamique

Je dois autoriser l'utilisateur à entrer n combinaisons de chaînes/dates.

Les combinaisons chaîne/date doivent être validées côté serveur, et j'ai besoin de donner un retour à l'utilisateur de préférence directement à côté de la combinaison qui a échoué à la validation.

Pour l'entrée statique, je fais ce qui suit:

<%= Html.ValidationMessage("someField") %> 

Pour les données dynamiques, que dois-je faire?

+0

La partie dynamique du formulaire est-elle générée côté client ou côté serveur? –

Répondre

3

Dans votre contrôleur, vous souhaitez attribuer une erreur aux champs particuliers dont la validation échoue:

ModelState.AddModelError ("textbox1", "You must specify a valid string."); 
ModelState.AddModelError ("combobox1", "You must specify a valid date."); 

Toute l'aide est en train de faire vraiment est de vérifier si le existe suivant:

ViewData.ModelState.ContainsKey("textbox1") 

puis la création d'une étiquette, comme suit

<span><%= ViewData.ModelState.ContainsKey("textbox1").Errors[0] %></span> 

l'aide fait un Un peu plus de vérification de la valeur nulle, mais vous avez l'idée.

Questions connexes