这是我的电影控制器.....为什么服务器端验证不起作用?
public class MoviesController : Controller
{
MoviesEntities db = new MoviesEntities();
public ActionResult Index()
{
var movies = from m in db.Films
where m.ReleaseDate > new DateTime(1989, 12, 20)
select m;
return View(movies.ToList());
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Film newFilm)
{
..some code for adding new movie in the database
}
}
,创造了电影类模型
namespace Movies.Models
{
[MetadataType(typeof(MovieMetadata))]
public partial class Movie
{
class MovieMetadata
{
[Required(ErrorMessage = "*")]
public string Title { get; set; }
[Required(ErrorMessage = "*")]
[Range(5, 100, ErrorMessage = "Movies cost between $5 and $100.")]
public decimal Price { get; set; }
}
}
}
这应该给我正确的验证..但范围不工作.. 也...他们正在添加到数据库中
已所示的POST方法具有模型,该模型的typeof'Film'但已示出的模型是typeof运算'Movie' –
使用ModelState.IsValid在控制器或启用jQuery验证 –
正如@StephenMuecke提到的,你是显示电影类,但是你的POST方法接收类型为Film的对象。请编辑你的问题来解释。 – sachin