這是我的電影控制器.....爲什麼服務器端驗證不起作用?
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