我没有收到验证消息?知道怎么解决?请查看下面的视图,模型和控制器代码。我还附上了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();
}
}
答案 0 :(得分: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);
}