首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModelState.AddModelError替代方案

ModelState.AddModelError替代方案
EN

Stack Overflow用户
提问于 2012-03-30 17:39:15
回答 2查看 1.2K关注 0票数 1

当模型没有通过验证时,我使用ModelState.AddModelError向用户显示错误消息。当验证通过时,显示信息消息的最佳方法是什么。我不想添加额外的HTML元素。是否可以使用ModelState object发送信息消息?

EN

回答 2

Stack Overflow用户

发布于 2012-03-30 17:54:48

您可以测试模型是否有效,并显示相应的消息

代码语言:javascript
复制
@if (ViewData.ModelState.IsValid)
{
    <div>Your model is valid</div>
}

显然,如果您不想一直显示该消息,甚至在第一次到达页面时,也可以使用另一个视图模型布尔属性来指示是否要显示该消息。然后,在POST操作中,当所有内容都通过验证时,在视图中将其值设置为true:

代码语言:javascript
复制
@if (Model.ShouldShowSuccess && ViewData.ModelState.IsValid)
{
    <div>Your model is valid</div>
}
票数 0
EN

Stack Overflow用户

发布于 2012-03-30 18:04:05

我构建了一个PartialView来显示成功的帖子。它靠近Html.ValidationSummary()。

当ModelState有效时,我使用IsValid消息为TempData变量赋值,因此在我的视图中,我有以下内容:

代码语言:javascript
复制
@Html.ValidationSummary()

@if (ViewData.ModelState.IsValid && TempData["ModelIsValidMsg"] != null)
{ 
    @Html.Partial("PostSuccess", TempData["ModelIsValidMsg"])
}

在我的控制器中:

代码语言:javascript
复制
if (ModelState.IsValid)
{
    TempData["ModelIsValidMsg"] = "Your success msg";
}
else
{
    ModelState.AddModelError("Your error msg");
}

在PartialView中,我显示了TempData消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9940494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档