如何让kendo datepicker对最短日期进行日期验证?

hyp*_*epy 8 validation kendo-ui kendo-asp.net-mvc kendo-datepicker

我有以下控件:

@(Html.Kendo().DatePickerFor(model => model.Attributes.DueDate)
    .HtmlAttributes(new { 
        ID = "idSurvey_DueDate", 
        @data_bind = "value: DueDate", 
        @Class = "report-label datepicker surveyAttributesData", 
        TabIndex = 3 })
    .Min(DateTime.Now)                                                            
)
Run Code Online (Sandbox Code Playgroud)

以下jquery:

$("#idSurvey_DueDate").kendoValidator({
    rules: {
        dateValidation: function (e) {
            var currentDate = kendo.parseDate($(e).val());
            // Check if date parse was successful
            if (!currentDate) {
                return false;
            }
            return true;
        }
    },
    messages: {
        dateValidation: "Invalid Date!",
        min: "Date must not be in the past!"
    }
});
Run Code Online (Sandbox Code Playgroud)

当我测试它并输入无效日期时,我得到的消息不是我所期望的.相反,它是"字段DueDate必须是日期".这个神秘信息来自哪里,为什么不使用我在验证器中放置的消息属性?我想要的是不允许无效的日期格式以及日期不是过去.因此必须执行最低要求.

Ata*_*hev 8

这段代码似乎工作正常:

$("form").kendoValidator({
  rules: {
    dateValidation: function(element) {
      var value = $(element).val();

      var date = kendo.parseDate(value);
      if (!date) {
        return false;
      }

      return true;
    },
    minDate: function(element) {
      var value = $(element).val();

      var date = kendo.parseDate(value);

      var result = date >= new Date();

      return result;
    }
  },
  messages: {
    dateValidation: "You must enter a date",
    minDate: "The date must not be in the past"
  }
});
Run Code Online (Sandbox Code Playgroud)

这是一个现场演示:http://jsbin.com/EvoroRe/1/edit