Средство выбора времени jQuery и проверка MVC 4 — поле должно быть датой

Я использую этот плагин jQuery для выбора времени: http://jonthornton.github.io/jquery-timepicker/

Я запускаю свой таймпикер следующим образом:

$('#scheduletime').timepicker({ 'scrollDefaultNow': true, 'timeFormat': 'h:i A' });

в результате время отображается в следующем формате:

08:00 AM

Я использую проверку на стороне клиента MVC, и моя модель выглядит так:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")]
public DateTime? ScheduleTime { get; set; }

Моя проблема в том, что я получаю ошибку проверки на стороне клиента:

Поле ScheduleTime должно быть датой.

Что происходит не так? Формат проверки строки кажется правильным, однако он не работает.


person Leigh    schedule 02.07.2013    source источник
comment
Является ли DisplayFormat единственным атрибутом аннотаций данных, имеющимся в вашем свойстве ScheduleTime?   -  person ataravati    schedule 11.07.2013
comment
@ataravati У меня также есть [Display(Name = Scheduled time)]   -  person Leigh    schedule 15.07.2013


Ответы (1)


Используйте атрибут DataType в своей модели следующим образом:

[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")]
[Display(Name = "Schedule Time")]
public DateTime? ScheduleTime { get; set; }
person ataravati    schedule 15.07.2013