ASP MVC日期时间范围数据注解从现在到20年

本文关键字:20年 日期 MVC 时间 范围 数据 ASP | 更新日期: 2023-09-27 18:02:19

我想在datetime属性上进行验证,并添加数据注释

    [Required]
    [Range(typeof(DateTime), DateTime.Now.ToString(), DateTime.Now.AddYears(20).ToString())]
    public Nullable<System.DateTime> StartDate{ get; set; }

但是显示了这个错误

Error   11  An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type 

我也有万无一失的验证

ASP MVC日期时间范围数据注解从现在到20年

我过去也遇到过同样的问题。我已经解决了它使用我自己的属性,扩展了RangeAttribute类。

public class CustomDateRangeAttribute : RangeAttribute
{
    public CustomDateRangeAttribute() : base(typeof(DateTime), DateTime.Now.ToString(), DateTime.Now.AddYears(20).ToString()) 
    { } 
}

可以这样使用:

[Required]
[CustomDateRange]
public Nullable<System.DateTime> StartDate{ get; set; }