小编典典

ModelState.AddModelError - 如何添加不属于属性的错误?

all

我正在检查我的数据库Create(FooViewModel fvm){...}以查看fvm.prop1和是否fvm.prop2已经存在于该组合中;如果是这样,我想在模型状态中添加一个错误,然后返回整个视图。我试过了:

public ActionResult Create(FooViewModel fvm){
    if (ThatComboAlreadyExists(fvm)) {
      ModelState.AddModelError("Model", "There is already one like that");
      return View(fvm);
    }
}

…但是我没有在
中显示错误Html.ValidationSummary,这是我认为它们会出现的地方。我怀疑“模型”不是正确的键,但我无法在谷歌中找到任何东西。


阅读 80

收藏
2022-06-24

共1个答案

小编典典

我最终偶然发现了一个我正在寻找的用法示例-
通常将错误分配给模型,而不是它的属性之一,就像您通常所说的那样:

ModelState.AddModelError(string key, string errorMessage);

但使用一个空字符串作为键:

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

<%: Html.ValidationSummary() %>如您所料,错误消息将出现在 中。

2022-06-24