Ho riscontrato un leggero problema con l'utilizzo di ValidationSummary(true)
per visualizzare errori a livello di modello. Se ModelState non contiene errori di modello (ad esempio ModelState.AddModelError("", "Error Description")
) ma contiene errori di proprietà (aggiunti utilizzando annotazioni di dati), visualizza il riepilogo di convalida senza alcuna informazione di errore (quando si visualizza l'origine). Il mio css è quindi visualizza un box rosso vuoto in questo modo:Perché ValidationSummary (true) mostra un riepilogo vuoto per errori di proprietà?
Se non ci sono errori di proprietà, allora viene visualizzato nessun sintesi di convalida. Con ValidationSummary(true)
mi aspetterei che visualizzi solo errori di validazione se ci sono errori di modello. Che cosa ho frainteso?
Ho un progetto di base come segue:
Controller:
public class HomeController : Controller
{
public ViewResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(IndexViewModel model)
{
return View();
}
}
Modello:
public class IndexViewModel
{
[Required]
public string Name { get; set; }
}
Vista:
@model IndexViewModel
@Html.ValidationSummary(true)
@using(@Html.BeginForm())
{
@Html.TextBoxFor(m => m.Name)
<input type="submit" value="submit" />
}
Anche essere a conoscenza di questo http://stackoverflow.com/questions/2818219/asp-net-mvc-html-validationsummarytrue-does-not-display-model-errors – maulik13