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



我想在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 

我也有万无一失的验证

我过去也遇到过同样的问题。我已经解决了它使用我自己的属性,扩展了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; }

相关内容

  • 没有找到相关文章

最新更新