我正在使用ModelState.AddModelError在Model未通过验证时向用户显示错误消息。验证通过时,显示信息消息的最佳方法是什么?我不想添加其他HTML元素。我可以使用ModelState对象发送信息消息吗?
答案 0 :(得分:0)
您可以测试模型是否有效并显示相应的消息
@if (ViewData.ModelState.IsValid)
{
<div>Your model is valid</div>
}
显然,即使您第一次到达页面时也不希望它始终显示,您可以使用其他视图模型布尔属性来指示是否要显示消息。然后在POST操作内部,当所有内容都通过验证并在视图中时,将其值设置为true:
@if (Model.ShouldShowSuccess && ViewData.ModelState.IsValid)
{
<div>Your model is valid</div>
}
答案 1 :(得分:0)
我构建了一个PartialView来显示成功帖子。 它靠近Html.ValidationSummary()。
当ModelState有效时,我使用IsValid消息来估计TempData变量,所以在我的视图中我有这个:
@Html.ValidationSummary()
@if (ViewData.ModelState.IsValid && TempData["ModelIsValidMsg"] != null)
{
@Html.Partial("PostSuccess", TempData["ModelIsValidMsg"])
}
在我的控制器中:
if (ModelState.IsValid)
{
TempData["ModelIsValidMsg"] = "Your success msg";
}
else
{
ModelState.AddModelError("Your error msg");
}
在PartialView内部,我显示TempData消息。