Disons que j'ai un formulaire sans liaison de modèle ou annotation de données. Lorsque le formulaire est posté, comment puis-je retourner la vue avec un message de validation sous le contrôle - Note J'essaie de faire la validation côté serveur ici?Ajouter un message de validation à la vue
Voici une sorte d'exemple.
<input name="Address" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="Address" data-valmsg-replace="true"></span>
public ActionResult Create(FormCollection collection)
{
if (string.IsNullOrEmpty(collection["Address"])
{
// Set the field validation error span message
ModelState.AddModelError("Address", "This field is required.");
return View();
}
}
Note: Je sais comment ajouter la validation en utilisant un modèle de vue et les annotations de données. Dans ce scénario, je ne suis pas en mesure d'utiliser un modèle de vue. Il est donc nécessaire de valider manuellement et de renvoyer les messages de validation à la vue.
Le semble ne pas fonctionner au-dessus
* Mise à jour *
Peut-être en utilisant vidéotex comme suit:
<span class="field-validation-valid" data-valmsg-for="Address" data-valmsg-replace="true">@ViewData["Address"]</span>
Avez-vous essayé d'ajouter '@ Html.ValidationMessageFor (m => m.Address," ")' sous le contrôle? Cela devrait afficher toutes les erreurs d'état du modèle ajoutées dans votre contrôleur pour cette propriété. Il y a aussi '@ Html.ValidationSummary()' qui affiche toutes les erreurs d'état du modèle. – zgood
Faites ce que zgood dit et renvoyez aussi votre modèle à votre vue. 'return View (collection)' –
Aussi, n'oubliez pas de séparer votre ActionResults pour votre Get et Post, pas sûr si vous essayez de combiner les deux ici. –