在ASP.NET MVC中将范围验证设置为Kendo Datepicker

时间:2016-06-27 06:52:08

标签: validation asp.net-mvc-4 kendo-ui datepicker kendo-datepicker

我正在使用Kendo UI ASP.NET MVC和实体Framework 5.0。 我使用了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; }

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

请一位知道的人帮我解决这个问题,提前谢谢。

2 个答案:

答案 0 :(得分:1)

由于您使用的是MVC,因此您可以限制可选日期的范围,如下所示:

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

并且"可能"您应该在服务器端验证此类example

答案 1 :(得分: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)
        });
});