2015-02-04 4 views
1

У меня есть приложение, которое позволяет клиенту установить формат даты, установив экран. Я изменяю формат даты текущей культуры культуры и устанавливаю формат даты и разбора в сборщике даты кендо.Kendo date picker пользовательский формат даты

DateTimeFormatInfo datetimeFormat = new DateTimeFormatInfo(); 
    datetimeFormat.FullDateTimePattern = "MM.dd.yyyy hh:mm tt"; //(set static for testing) 
    Thread.CurrentThread.CurrentCulture.DateTimeFormat = datetimeFormat; 

Моя проблема в том, что когда я изменяю формат даты, возвращается ошибка проверки на стороне клиента, указывающая, что поле должно быть датой. Я попытался установить пользовательское правило в валидаторе кендо, но это не помогает мне, потому что когда я меняю дату, это правило не запускается.

$("myForm").kendoValidator(
       { 
        rules: { 
         dateValidation: function(input) 
         { 
          if (input.is("[data-role=datepicker]")) { 
           // My code should be here 
          } 
          return true; 
         } 
}}); 

Любой может помочь мне решить эту проблему.

ответ

4

Там нет необходимости добавлять пользовательские правила Вы должны установить пользовательский формат в кендо валидатор следующим образом:

kendo.ui.validator.rules.mvcdate = function (input) { 
return input.val() === "" || kendo.parseDate(input.val(), "dd/MM/yyyy") !== null; 
} 

Этот код возвращает истину (действует), если элемент выбора даты имеет значение и значение находится в правильном формате (dd/MM/yyyy в приведенном выше)

+0

Спасибо, это решает мою проблему. –

Смежные вопросы