2
나는 다음과 같은 클래스가 : Model.IsValid은 항상 false입니다
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 항상 잘못되었습니다 . 어째서? 이 문제를 어떻게 해결할 수 있습니까?
나는 또한 여기에 게시했습니다 : http://forums.asp.net/t/1663783.aspx/1?MVC3+how+to+check+datetime+on+model+with+unobtrusive+javascript+.
업데이트 : 나는 통해 실제로 오류가 있음을 발견
ModelState.Values.Select(x => x.Errors);
하지만 어떻게 내가 거기 얻는 방법을 찾을 수 있습니까? 그리고 더 중요한 것은 어떻게 해결할 수 있습니까?
ModelState에서 오류 컬렉션을 선택 했습니까? – Robert
어디에서 찾을 수 있습니까? ModelState.Errors를 입력하면 그와 비슷한 것을 제공하지 않습니다. –
'if (ModelState.IsValid)'에 중단 점을 설정하고, 디버거로 ModelState 객체를 검사합니다. ViewData 사전에 연결된 항목과 함께 오류 메시지가 표시 될 수 있어야합니다 ... –