1

我正在使用带有实体框架 5.0 的 Kendo UI ASP.NET MVC。我使用了 kendo 的 datepicker 并在模型端设置了验证,并成功触发了除 Range 之外的所有验证。所以我想将 datepicker 的范围设置为 -7 和 +7 天,并且从今天开始禁用除 -7 和 +7 之外的其他日期。

我的代码是:

HTML:

@Html.Kendo().DatePickerFor(model => model.MyDate)

模型:

[Required]
        [DataType(DataType.Date)]
        [Range(-7,7,ErrorMessage = "Date must be within -7 to +7 days.")]
        [Display(Name = "My Date")]
        public DateTime? MyDate { get; set; }

我已经使用了上述范围验证,但没有帮助。

请知道的人帮我解决这个问题,在此先感谢。

4

2 回答 2

1

由于您使用的是 MVC,因此您可以像这样限制可选日期的范围:

@(Html.Kendo().DatePicker()
    .Name("datepicker")
    .Min(DateTime.Now.AddDays ( -7 ))
    .Max(DateTime.Now.AddDays ( 7 ))
    .Value(DateTime.Today)
)

并且“可能”您应该在服务器端使用类似 this example的内容进行验证。

于 2016-06-27T20:59:08.663 回答
0

明白了...

我通过如下手动测试得到了解决方案并得到了解决方案:

HTML:

@Html.Kendo().DatePickerFor(model => model.MyDate).Name("Mydatepicker")

脚本:

$(document).ready(function () {

    var datefilter = new Date();
    var mindate = new Date();
    mindate.setDate(datefilter.getDate() - 7);
    var maxdate = new Date();
    maxdate.setDate(datefilter.getDate() + 7)

 $("#Mydatepicker").kendoDatePicker({
            max: new Date(maxdate),
            min: new Date(mindate)
        });
});
于 2016-06-28T07:35:14.823 回答