Iri*_*lho 12 html c# asp.net-mvc-3
在我的控制器中,我添加了一些ModelState错误.因此,当我渲染我的视图时,我希望获得所有这些错误并更改包含错误的字段标签的颜色.
所以,我认为我需要获取所有ModelState错误,获取字段名称然后更改颜色.这是一个好方法吗?
如何在视图中获取ModelState错误?
Ole*_*Aza 24
你可以通过它访问它ViewData.ModelState.如果您需要更多控制以及视图上的错误,您可以使用
ViewData.ModelState.IsValidField("name_of_input")
或获取包含以下错误的输入列表:
var errors = ViewData.ModelState.Where(n => n.Value.Errors.Count > 0).ToList();
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 10
在我的控制器中,我添加了一些ModelState错误.因此,当我渲染我的视图时,我希望获得所有这些错误并更改包含错误的字段标签的颜色.
如果你在模型中添加模型错误与模型中完全相同的键,那就是你在视图中使用的Html.ValidationMessageFor助手.
例如,让我们假设您的表单中包含以下代码段:
@Html.LabelFor(x => x.Bazinga)
@Html.EditorFor(x => x.Bazinga)
@Html.ValidationMessageFor(x => x.Bazinga)
Run Code Online (Sandbox Code Playgroud)
并在您的HttpPost控制器操作中,您可以添加以下错误消息,以突出显示Bazinga字段:
ModelState.AddModelError("Bazinga", "Please enter a valid value for the Bazinga field");
Run Code Online (Sandbox Code Playgroud)
如果您想添加一些与某些特定输入字段无关的通用错误消息,您可以始终使用@Html.ValidationSummary()表单顶部的帮助程序来显示它.在你的控制器动作中:
ModelState.AddModelError(string.Empty, "Some generic error occurred. Try again.");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30429 次 |
| 最近记录: |