1

詳細に入る前に、これは私が持っているものです

環境: 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 スクリプトをスクリプト フォルダーに追加した後、クライアント側の検証を有効にしました。クライアント側の検証もトリガーされていません。これに関する助けをいただければ幸いです。

4

1 に答える 1