在我了解细节之前,这就是我所拥有的
环境:使用ASP.NET MVC 2的VS 2008
基本型号代码
[DisplayName("Current Application Status")]
[Required(ErrorMessage = "Current Status has to be provided")]
public virtual int CurrStatus{ get; set; }
脚本参考
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<link href="../../Content/jqueryui.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.10.3.custom.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
查看代码
<tr>
<td><%= Html.LabelFor(model => model.CurrStatus) %></td>
<td>
<%= Html.DropDownListFor(model => model.CurrStatus, Model.CurrentStatus, "-- Select Current Status --").ToString().Replace("CurrStatus", "Application.CurrStatus")%>
<%=Html.ValidationMessageFor(model=>model.CurrStatus) %>
</td>
</tr>
控制器代码
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Prefix = "Application")] Application model)
{
try
{
if (ModelState.IsValid)
{
//save to db
}
else
{
InitSelectListItems();
model.CurrentStatus = CurrentStatusModel.GetModelInstance().GetAllAsSelectListItems();
return View(model);
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
在视图中,验证摘要显示已提交模型的错误列表。但是,出于某种原因未显示各个错误消息。最重要的是,我在将条目添加到web.config并将jQUery脚本添加到脚本文件夹后启用了客户端验证。客户端验证也没有被触发。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:2)
不确定您的验证摘要帮助器是什么样的,但我可以确定您将“true”值传递给助手,就像那样
@ Html.ValidationSummary(真)
根据MSDN,这将从摘要中排除所有属性错误:
如果只显示模型级错误,则为true,或者为false 让摘要显示所有错误。
请您详细说明您添加的JQuery文件的确切内容以及您对web.config所做的更改?
您是否忘记通过捆绑包或脚本标记将JQuery文件包含到应用程序中?