有没有办法通过数据注释来验证一个日期属性是否大于或等于另一个日期属性?

时间:2013-05-06 14:30:05

标签: c# asp.net asp.net-mvc-4 data-annotations

我的StartDate模型上有EndDateSchoolEvents,我想知道是否有任何数据注释我可以用来验证StartDate是否小于或等于EndDateEndDate是否大于或等于StartDate

2 个答案:

答案 0 :(得分:5)

从我的角度来看,你必须建立一个custom validation attribute。您可以查看link以验证是否遵循特定的验证。这将需要你的努力。 您应该应用Fluent Validation而不是使用数据注释,这将有助于您减少工作量。它易于设置,直接和分离,您不需要在视图模型,域对象和依赖于业务规则的验证之间进行混合。

答案 1 :(得分:3)

您可以通过安装和使用foolproof nuget包来实现您的需求。

安装foolproof nuget包并使用其额外的有用属性,如下所示:

public class EventViewModel
{
    [Required]
    public string Name { get; set; }

    [Required]
    public DateTime Start { get; set; }

    [Required]
    [GreaterThan("Start")]
    public DateTime End { get; set; }
}

您需要的更多示例是here