2
我有以下類:Model.IsValid永遠是假的,當我插入日期時間
public class Post
{
[DataType(DataType.Date, ErrorMessage="Please fill in a valid date.")]
[RegularExpression(@"^\d{1,2}\/\d{1,2}\/\d{4}$", ErrorMessage="Fill in a valid date.")]
public DateTime? PublishDate { get; set; }
}
,在我的編輯操作我有這樣的
[HttpPost]
public ActionResult Edit(Post post)
{
if (ModelState.IsValid)
{
return RedirectToAction("Index");
}
else
{
return View(post);
}
}
但我的ModelState總是無效。怎麼來的?我該如何解決這個問題?
更新:我發現有通過確實是一個錯誤:
ModelState.Values.Select(x => x.Errors);
但我怎麼能找出它是如何到達那裏?更重要的是,我該如何解決它?
您是否檢查過ModelState中的Errors集合? – Robert 2011-03-16 12:57:46
我在哪裏可以找到?如果我鍵入ModelState.Errors它不會提供給我這樣的東西。 – 2011-03-16 13:12:38
在'if(ModelState.IsValid)'上設置斷點,然後用調試器檢查ModelState對象。您應該能夠在ViewData字典中看不到關聯條目的錯誤消息... – 2011-03-16 13:17:15