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的幫助表示讚賞。 –