我正在检查我的数据库Create(FooViewModel fvm){...}以查看fvm.prop1和是否fvm.prop2已经存在于该组合中;如果是这样,我想在模型状态中添加一个错误,然后返回整个视图。我试过了:
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,这是我认为它们会出现的地方。我怀疑“模型”不是正确的键,但我无法在谷歌中找到任何东西。
Html.ValidationSummary
我最终偶然发现了一个我正在寻找的用法示例- 通常将错误分配给模型,而不是它的属性之一,就像您通常所说的那样:
ModelState.AddModelError(string key, string errorMessage);
但使用一个空字符串作为键:
ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");
<%: Html.ValidationSummary() %>如您所料,错误消息将出现在 中。
<%: Html.ValidationSummary() %>