MVC日期范围介于最小值和最大值之间

时间:2014-12-16 11:21:07

标签: c# asp.net-mvc-4 model

我正在尝试在我的模型中添加日期范围。

我已将以下属性添加到我的班级

    [Required]
    [DataType(DataType.Date)]
    [Display(Name = "Date Schedule")]
    [Range(typeof(DateTime), DateTime.Now.ToString("dd/MM/yyyy"), DateTime.Now.AddDays(120).ToString("dd/MM/yyyy"), ErrorMessage = "Please select valid date")]
    public DateTime? DateSchedule { get; set; }

它让我跟踪错误

enter image description here

如何为我的DateSchedule分配最低最高值?在日历控件中,它应该只显示从today120 days的日期(在我的课程中,我已添加了120天)。

1 个答案:

答案 0 :(得分:1)

属性仅接受常量作为参数。

我们知道DateTime.Now不是常量,它会根据代码的运行时间而变化。和Range属性在编译时确定。

您需要创建自定义验证器,如下所示: -

public class DateAttribute : RangeAttribute
{
    ////your code
}