ModelState.AddModelError-如何添加非属性错误?

| 我正在
Create(FooViewModel fvm){...}
中检查数据库,以查看combination1ѭ和
fvm.prop2
是否已存在于该组合中;如果是这样,我想向模型状态添加错误,然后返回整个视图。我试过了:
public ActionResult Create(FooViewModel fvm){
    if (ThatComboAlreadyExists(fvm)) {
      ModelState.AddModelError(\"Model\", \"There is already one like that\");
      return View(fvm);
    }
}
...但是我并没有在ѭ4display中显示任何错误,这是我认为它们会出现的地方。我怀疑\“ Model \”不是正确的键,但是我无法在Google上找到任何东西。     
已邀请:
最终,我偶然发现了一个我正在寻找的用法示例-将错误分配给模型,而不是像往常一样调用它的属性之一:
ModelState.AddModelError(string key, string errorMessage);
但使用空字符串作为键:
ModelState.AddModelError(string.Empty, \"There is something wrong with Foo.\");
如您所料,错误消息会显示在ѭ7中。     
您可以在模型的任何属性上添加模型错误,我建议是否没有与创建新属性相关的内容。 例如,我们检查电子邮件是否已在数据库中使用,并在操作中将错误添加到Email属性中,因此当我返回视图时,他们知道存在错误以及如何通过使用显示错误
<%: Html.ValidationSummary(true)%>
<%: Html.ValidationMessageFor(model => model.Email) %>
ModelState.AddModelError(\"Email\", Resources.EmailInUse);
    
将模型点属性放在字符串中对我有用:
ModelState.AddModelError(\"Item1.Month\", \"This is not a valid date\");
    

要回复问题请先登录注册