0

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

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

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

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

我正在为我的视图使用 Razor。谢谢你。

4

1 回答 1

1

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

于 2012-12-01T17:36:08.720 回答