验证摘要工作但个别验证消息不起作用

时间:2013-06-12 10:23:15

标签: asp.net asp.net-mvc validation jquery-validate

在我了解细节之前,这就是我所拥有的

环境:使用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脚本添加到脚本文件夹后启用了客户端验证。客户端验证也没有被触发。任何有关这方面的帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

不确定您的验证摘要帮助器是什么样的,但我可以确定您将“true”值传递给助手,就像那样

  

@ Html.ValidationSummary(真)

根据MSDN,这将从摘要中排除所有属性错误:

  

如果只显示模型级错误,则为true,或者为false   让摘要显示所有错误。

请您详细说明您添加的JQuery文件的确切内容以及您对web.config所做的更改?

您是否忘记通过捆绑包或脚本标记将JQuery文件包含到应用程序中?