В моем приложении MVC3 есть много форм, которые требуют от пользователя ввода дат.
Требование указанной даты может быть одним из многих случаев, то есть датой со временем, просто датой, датой в прошлом, датой и временем в прошлом, датой в будущем, датой и время в будущем и т.д ...
Итак, на данный момент я даю другой класс в зависимости от того, что требуется. Например ....
$("input.input-date-past").datepicker({ numberOfMonths: 1, showButtonPanel: true, maxDate: -0 });
... настраивает средство выбора даты, которое ограничивает выбор пользователя датой только в прошлом.
Все это работает хорошо, но мне было интересно, есть ли лучший способ.
Я думаю, что мог бы дать свойствам модели представления атрибут, который бы определял, какой тип ввода требовался. * 1012 т.е. *
[Required]
[PastDate]
public DateTime SomeDateFromThePast { get; set; }
[Required]
[FutureDate]
public DateTime SomeDateFromTheFuture { get; set; }
[Required]
[FutureDateTime] // Requires a time to be given i.e "01/01/2012 09:00"
public DateTime SomeDateTimeFromTheFuture { get; set; }
etc..
Затем в шаблоне Shared / EditorTemplate с @model System.DateTime
, который будет запрашивать атрибуты, присвоенные свойству, и устанавливать класс в соответствии с требованиями.
Это звучит нормально? Или это воняет?
Если все в порядке, как вы опрашиваете атрибуты, присвоенные свойству?
Если воняет, есть другие предложения?
Большое спасибо,
ETFairfax.