有没有一种方法可以通过数据注释来验证一个日期属性大于或等于另一个日期属性?

问题描述 投票:0回答:2

我的

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

c# asp.net asp.net-mvc-4 data-annotations
2个回答
4
投票

从我的角度来看,您必须构建一个自定义验证属性。您可以查看链接来验证您的具体验证。这需要你付出很大的努力。 您应该应用Fluent Validation,而不是使用数据注释,这将帮助您减少工作量。它易于设置、直接且关注点分离,您不需要在视图模型、域对象和依赖于业务规则的验证之间进行混合。


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; }
}

更多您需要的示例在这里

© www.soinside.com 2019 - 2024. All rights reserved.