MVC4验证日期是今天还是之后?

时间:2012-12-01 15:20:49

标签: asp.net-mvc validation date razor

我在MVC4中有一个播放列表Model类,它有一个Date属性,当用户创建它时,我希望它们不能在今天之前指定日期(所以今天或之后)。

这是我的播放列表类的一部分:

[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "Incorrect date format.")]
        public DateTime Date { get; set; }

如何为此“范围”添加验证?现在它只是验证它是否是一个有效的日期,但是11/30/2012是有效的,即使它是昨天也不会引起任何错误。

我正在使用Razor作为我的观点。谢谢。

1 个答案:

答案 0 :(得分:1)

您无法使用Range属性验证动态值。您可以基于ValidationAttribute创建自己的验证程序,该验证程序根据当前日期或计算日期验证日期。或者您可以在模型类中使用IValidatableObject接口(伙伴类以阻止它被EF覆盖),并验证您想要的属性。