Как проверить дату в формате гггг-ММ-дд с использованием валидатора кендо?

У меня есть сборщик дат кендо, который построен следующим образом:

$("#date").kendoDatePicker({
    format: "yyyy-MM-dd",
    footer: " ",
    parseFormats: ["MM/dd/yyyy", "dd/MM/yyyy"]
  });

Я хотел бы использовать средство проверки кендо, чтобы проверить, что дата содержит действительную дату в формате yyyy-MM-dd. Я попробовал это:

<input type="date" id="date" placeholder="yyyy-mm-dd" name="date" required data-required-msg="Please enter a date." data-date-msg="Please enter a valid date."/>

Хотя валидатор правильно проверяет "обязательное" условие, он, похоже, не подтверждает, что дата имеет правильный формат или является действительной датой. Например, "abc" считается действительной датой, как и 2013-18-85. Как я могу использовать валидатор, чтобы обеспечить правильную дату в правильном формате?

2 ответа

Решение

Если хотите validate date вам нужно определить правило (без встроенного правила).

Попробуйте определить:

$("#date").kendoValidator({
    rules: {
        date: function (input) {
            var d = kendo.parseDate(input.val(), "yyyy-MM-dd");
            return d instanceof Date;
        }
    }
});

ПРИМЕЧАНИЕ. Помните, что KendoUI впервые использует parseFormats вариант для разбора даты, а затем преобразует ее в format вариант и, наконец, запустить проверки. Вот почему я использую в валидации yyyy-MM-dd и не ["MM/dd/yyyy", "dd/MM/yyyy"],

Ответ:

<script src="@Url.Content("~/Scripts/kendo/2015.2.805/kendo.aspnetmvc.min.js")"></script>
<script type="text/javascript">
    kendo.ui.validator.rules.mvcdate = function (input) {
        //use the custom date format here
        //kendo.parseDate - http://docs.telerik.com/kendo-ui/api/javascript/kendo#methods-parseDate
        return !input.is("[data-val-date]") || input.val() === "" || kendo.parseDate(input.val(), "@(MvcApplication.AppCulture.DateTimeFormat.ShortDatePattern)") !== null;
    };
</script>

Вот дополнительная информация: http://docs.telerik.com/kendo-ui/aspnet-mvc/validation

ура

Другие вопросы по тегам