0

検証メッセージが表示されませんか? 解決方法はありますか?以下のビュー、モデル、およびコントローラー コードを見てください。js ファイルも添付しましたが、ファイルが見つからない可能性がありますか?

@model MvcApplication1.Models.Assesment
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>

@using (Html.BeginForm())
{    
   @Html.TextBoxFor(m => m.name)
   @Html.ValidationMessageFor(m=>m.name,"*Hello")

}
<input type="submit" value="submit" />

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;

namespace MvcApplication1.Models
{
   public class Assesment
   {   
    [Required]
    public string name { get; set; }
    }
}

public class RegisterController : Controller
{

    [HttpGet]
    public ActionResult Index()
    {
        return View();
    }

     [HttpPost]
     public ActionResult Index(Assesment assesment)
     {
         return View();
     }
}
4

1 に答える 1

0

フォーム<input type="submit">内にある必要があります。

また、POST を処理するときに、無効なモデルをビューに渡す必要があります。

[HttpPost]
public ActionResult Index(Assesment assesment)
{
    return View(assesment);
}

ちなみに、典型的なHttpPostアクションは次のようになります。

[HttpPost]
public ActionResult Index(Assesment assesment)
{
    if( ModelState.IsValid )
    {
        // Handle POST data (write to DB, etc.)
        //...
        // Then redirect to a new page
        return RedirectToAction( ... );
    }

    // show the same view again, this time with validation errors
    return View(assesment);
}
于 2013-05-08T15:38:16.783 に答える