1

我正在将Kendo UI ASP.NET MVC与实体框架5.0一起使用。 我已经使用了剑道的datepicker,并在模型侧设置了验证,并成功启动了除Range之外的所有验证。所以我想将datepicker的范围设置为-7和+7天,并禁止今天除-7和+7之外的其他日期。将范围验证设置为ASP.NET MVC中的Kendo Datepicker

我的代码是:

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

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

请有谁知道帮我解决这个问题,提前致谢。

回答

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

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

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

而且“可能”,你应该在服务器端验证具有这样的事情example

+0

是的,我也做到了这一点,但每次我在客户端需要它时都完成服务器调用,所以这可能对我没有用,但是我可以考虑它是解决方案之一。谢谢Bakudan –

+0

感谢dakudan的帮助表示赞赏。 –