2013-04-17 4 views
0

Я использую небольшое время кендо и нашел проблему при проверке datepicker.валидация в формате kendo datepicker

@using (Ajax.BeginForm("FindByFilter", "Find", new { filter = Model.Filter }, new AjaxOptions { UpdateTargetId = "content", HttpMethod = "GET", InsertionMode = InsertionMode.Replace })) 
{ 
    <div class="demo-section fr" style="width: 340px; margin-top: -2px;"> 
     <label for="start">Start:</label> 
     @(Html.Kendo().DatePickerFor(model => model.Filter.Start) 
      .Name("start") 
      .Culture("pt-BR") 
      .HtmlAttributes(new { style = "width: 140px" }) 
      .Min(DateTime.Today) 
      .Events(e => e.Change("startChange")) 
    ) 

     <label for="end" style="margin-left: 0.5em">End:</label> 
     @(Html.Kendo().DatePickerFor(model => model.Filter.End) 
      .Name("end") 
      .Culture("pt-BR") 
      .HtmlAttributes(new { style = "width: 140px" }) 
      .Min(Model.Filter.Start) 
      .Events(e => e.Change("endChange")) 
    ) 
    </div> 
    <div> 
     <input type="submit" class="button small secondary lupa fr" /> 
    </div> 
} 

Когда я нажимаю отправить DatePicker не принимает формат 20/04/2013 только в формате 2013-04-20. Я установил культуру в pt-BR, но проверка еще продолжается. Может ли кто-нибудь помочь?

+0

Аналогичный вопрос рассмотрен здесь [здесь] [1]. [1]: http://stackoverflow.com/questions/14127305/how-to-validate-a-date-is-in-the-format-yyyy-mm-dd-using-kendo- валидатор –

ответ

1

Кажется, что у меня точно такая же проблема. Как и вы, мы изменили культуру, используя kendo.culture ('en-GB'), но это не решило проблему. В итоге нам пришлось добавить свой собственный метод валидатора jQuery:

jQuery.validator.addMethod(
    'date', 
    function (value, element) { 
     if (this.optional(element)) { 
      return true; 
     }; 
     var result = false; 
     try { 
      $.datepicker.parseDate('dd/mm/yy', value); 
      result = true; 
     } catch (err) { 
      result = false; 
     } 
     return result; 
    }, 
    '' 
); 
+0

Спасибо за отзыв Myles. Я использовал ваше решение, но проблема все еще продолжается. Нужно ли мне что-то делать, кроме скрипта? –

+1

Немного сложно сказать, почему он не работает для вас, не видя больше кода. Где вы добавили код метода проверки? Вызывается ли это, когда вы редактируете/сохраняете запись? Попробуйте добавить тестовое сообщение Javascript в методе, чтобы узнать, действительно ли он вызван. –

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