繁体   English   中英

Mvc 4验证摘要错误未显示

[英]Mvc 4 validation summary errors not displaying

我在显示验证摘要时遇到问题,我只想在验证摘要中显示错误,而不是在字段旁边。 在我看来,我有,

    @Html.ValidationSummary()
    @Html.ValidationMessageFor(m =>m.Name)

在我的控制器中我有

ModelState.AddModelError("Name",
                                "name is required");

我不应该得到验证错误消息? 在顶部? 我不明白我错过了什么......

我还包括这些脚本文件.. jquery.validate.min.js jquery.validate.unobtrusive.min.js

尝试

@Html.ValidationSummary(false)

这样它就不会排除属性错误。

要么

尝试使用@xurca链接方法,即使用空键添加模型错误,这样它就不会绑定到特定属性。

ModelState.AddModelError(String.Empty, "name is required");

如果您自定义命名您的字段

 @Html.TextBoxFor(model => model.Name, new {  id = "staffSearchFilterName", value = "", **Name = "staffSearchFilterName"** })

然后你必须使用

@Html.ValidationMessage("staffSearchFilterName")

如果您的@ Html.ValidationSummary()调用在Partial视图中,请不要将数据传递到局部视图中,如下所示:

@Html.Partial("_YourForm", Model,  new ViewDataDictionary { { "Submit", true }})

而是首先将键值对添加到Html.ViewData集合:

@{
    Html.ViewData.Add(new KeyValuePair<string,object>("Submit",true));
}

然后调用局部视图:

@Html.Partial("_YourForm", Model, Html.ViewData)

这将允许ModelState正确地传播到局部视图。

在控制器自定义错误

 ModelState.AddModelError("test","test");

摘要:

 @Html.ValidationSummary(false, "", new { @class = "text-danger" })

个别领域:

  @Html.TextBoxFor(m => m.FieldName, new { @class= "form-control" })
  @Html.ValidationMessageFor(m => m.FieldName, "", new { @class = "text-danger" })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM