我有以下课程:
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);
但我如何才能知道它是如何实现的呢?更重要的是,我该如何解决?
答案 0 :(得分:1)
您的正则表达式不适用于您输入的日期。我只是删除它,因为如果模型绑定器无法解析日期,则不会分配DateTime
结构。