1

Im my date Дата выбора приложения MVC5 в формате «dd/MM/yyyy» вызывает «Поле xxx должно быть датой». С другой стороны, если я прокомментирую kendoValidator(), как ниже ошибка исчезла, но в этом случае я не могу выполнить проверку на стороне клиента, и по этой причине я хочу использовать kendoValidator. Вот раздел кода, связанный с этим элементом управления.kendoValidator() вызывает ошибку «Поле xxx должно быть датой» при использовании DatePicker

Entity:

[Required(ErrorMessage = "Required field")] 
[Display(Name = "Start Date")] 
public DateTime StartDate { get; set; } 


Вид:

...  
<script src="~/Scripts/kendo/2014.3.1119/cultures/kendo.culture.de.min.js"></script> 
<script src="~/Scripts/kendo/2014.3.1119/messages/kendo.messages.de-DE.min.js"></script> 

<script> 
    $(function() { 
     $("form").kendoValidator(); //This line cause the error... 
    }); 
</script> 

@Html.LabelFor(m => m.StartDate) 
    @(Html.Kendo().DatePickerFor(m => m.StartDate) 
    .Animation(true) 
    .Culture("de-DE") 
    .Footer(false) 
    .Format("dd/MM/yyyy") 
    .Value(DateTime.Today) 
) 


Есть ли отсутствие или неправильное определение на Entity или вид? т.е.

[DataType(DataType.Date)] 

Заранее спасибо за вашу помощь ...

+0

Это может быть полезно/связанные - http://stackoverflow.com/a/14131337/3130094 –

+0

@JamieDunstan Спасибо, но это не решить мою проблему. Есть идеи? –

ответ

4

Вы можете попробовать это в качестве возможного решения:

1) Если вы хотите применить культуру де-DE для всего сайта то вы могли бы добавить:

<script type="text/javascript"> 
    kendo.culture("de-DE"); 
</script> 

Подставив культуру для того, который вы хотите применить, а также гарантируя, что вы добавили соответствующий сценарий культуры на страницу.

2) Следующее, что вы могли бы попробовать, - добавить формат даты, который вы хотите, к форматам разрешенных форматов «parseFormats» для элемента управления.

Это можно сделать так:

@(Html.Kendo().DatePickerFor(m => m.StartDate) 
       .Format("dd/MM/yyyy") 
       .ParseFormats(new List<string>()    
           { 
           "dd/MM/yyyy", 
           "dd/MM/yy", 
           "dd MMM yyyy" 
           }) 
    ) 

Они, как правило, способы, которые я идти о обработки даты и проверки.

+0

Большое спасибо за ответ. Применение только первого шага решило проблему :) –

+0

Большое вам спасибо, вызов parseFormats спас мне день. Я никогда не замечал этого раньше ... –

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

  • Нет связанных вопросов^_^