J'ai un simple pour avec au champ de texte où l'utilisateur entre l'adresse d'un flux RSS. Je ne vais pas agir si le champ est vide, ceci est mon balisage:ASP.NET MVC Échec de la validation simple de mon formulaire
<%=Html.ValidationSummary() %>
<table>
<tr>
<td>
Feed Url:
</td>
<td>
<%=Html.TextBox("url", null, new {@style="width:300px"}) %>
</td>
</tr></table>
Mon contrôleur est également très simple:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddFeed(FormCollection collection)
{
string url = collection.Get("url");
string roles = collection.Get("Roles");
if (string.IsNullOrEmpty(url))
{
ModelState.AddModelError("url", "Please provide a propre feed url");
}
if (string.IsNullOrEmpty(roles))
{
ModelState.AddModelError("Roles", "Please select a valid role");
}
if (ModelState.IsValid)
{
Session["url"] = url;
Session["Roles"] = roles;
return RedirectToAction("ValidateFeed");
}
else
{
return View();
}
}
Quand il échoue, il recharge la vue et fait une exception dans la ligne où il rend ma zone de texte, en disant qu'il y a eu une exception de pointeur nul. Ce qui m'a vraiment botheres, il devrait être si simple ... mais im aux prises
/H4mm3r
Modifier S'il vous plaît ne pas tenir compte de l'élément Rôles sa chute vers le bas que je l'ai, mais retiré de balisage pour la simplicité
Essayé :-) pas de chance :-(Pensez "Omar" a un point dans sa réponse, en essayant notre maintenant – H4mm3rHead