如果错误已经逐字段显示,如何不显示ASP MVC ValidationSummary?

g.p*_*dou 10 c# asp.net-mvc

我不想显示ValidationSummary,以防它只显示已显示的字段相关错误.但是,当发生自定义服务器端验证错误时,我确实需要ValidationSummary:

if (!UserManager.IsEmailConfirmed(user.Id))
{
    AuthenticationManager.SignOut();
    ModelState.AddModelError("", "You need to confirm your email.");
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

Cod*_*ter 12

使用@Html.ValidationSummary(excludePropertyErrors: true).

这种重载(如果excludePropertyErrorstrue)会隐藏属性错误,例如"电子邮件字段不是有效的电子邮件地址".并且"密码字段是必需的." 来自验证摘要.另见@ Html.ValidationSummary(true) - 真实的是什么?.

不会检测您是否打印了这些@Html.ValidationMessageFor(),所以如果您忘记了这些,您可能会收到失败的表单提交,但不会告诉您它们失败的原因.

要手动添加属性验证错误,请ModelState.AddModelError("", "Custom error")按照向@Html.ValidationSummaryASP.NET MVC Html 添加错误消息中的说明调用(注意空字符串).ValidationSummary(true)不显示模型错误.


归档时间:

查看次数:

3359 次

最近记录:

11 年 前