У меня есть следующий класс:
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);
Но как можноЯ узнаю, как он туда попадает?И что более важно, как я могу решить это?