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

本文关键字:属性 日期 大于 一个 另一个 一种 方法 可以通过 是否 注释 数据 | 更新日期: 2023-09-27 18:12:23

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

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

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

您可以通过安装和使用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; }
}

更多你需要的例子在这里