【问题标题】:Set Range Validation to Kendo Datepicker in ASP.NET MVC在 ASP.NET MVC 中将范围验证设置为 Kendo Datepicker
【发布时间】:2016-06-27 06:52:07
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    并且“可能”您应该在服务器端使用类似 example 的内容进行验证。

    【讨论】:

    • 是的,我也这样做了,但是每次我想在客户端调用它时都会调用服务器,所以这对我来说可能没有用,但是我可以认为它是解决方案之一。谢谢爆弹
    • 感谢 dakudan 的帮助。
    【解决方案2】:

    明白了……

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多