在 ASP.NET MVC 中将范围验证设置为 Kendo 日期选择器

Set Range Validation to Kendo Datepicker in ASP.NET MVC

我正在使用 Kendo UI ASP.NET MVC 和 entity Framework 5.0。 我使用了 kendo 的日期选择器并在模型端设置了验证并成功触发了除 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; }

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

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

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

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

而且 "probably" 你应该在服务器端用这样的东西验证 example.

明白了...

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

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)
        });
});