我有以下代码来生成html输入和验证消息。
@Html.ValidationSummary(false)
......
<div class="col-md-10">
@Html.TextBoxFor(model => model.ImageUpload, new { type = "file", name = "file" })
@Html.ValidationMessageFor(model => model.ImageUpload)
</div>
在我的行动中我有代码
if (.... something wrong with the input ....)
{
ModelState.AddModelError("", "Invalid image file.");
return RedirectToAction(....
但是,它会在验证摘要部分显示错误消息。是否可以在验证消息部分显示错误消息以进行输入?
答案 0 :(得分:5)
您需要提供一个密钥:
ModelState.AddModelError("ImageUpload", "Invalid image file.");
答案 1 :(得分:0)
这并没有完全回答OP原始问题,但我正在寻找的是能够将模型错误添加到ModelState中,以便我的表单上的控件不属于模型。这样做的方法是向页面添加ValidationMessage帮助程序,您可以通过名称在AddModelError调用中引用该页面。 例如:
@Html.ValidationSummary(false)
......
<div class="col-md-10">
<input name="FileName" />
@Html.ValidationMessage("FileNameValidation")
</div>
然后,在您的控制器操作中,您可以执行以下操作:
if (.... something wrong with the input ....)
{
ModelState.AddModelError("FileNameValidation", "Please fix the File Name.");
return View( viewModel );
}
希望这可以帮助情况略有不同的人。