我正在使用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; }
我已经使用了上述范围验证,但没有帮助。
请一位知道的人帮我解决这个问题,提前谢谢。
答案 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)
});
});