Настройте jQuery datetimepicker с атрибутами - PullRequest
0 голосов
/ 07 февраля 2012

В моем приложении 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.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2012

Рассматривали ли вы написание собственного метода проверки DateTime (есть несколько учебных пособий, если вы ищете в Google)?Таким образом, вы можете посмотреть только элементы DateTime.Now (), в зависимости от того, хотите ли вы заглянуть в прошлое или будущее.

Что касается вашего вопроса о том, является ли это хорошей идеей или нет,Ну, я думаю, что в каком-то смысле это хорошо, что вы должны проверить свои данные на стороне сервера.Тем не менее, я не думаю, с точки зрения удобства использования, что это хорошая идея, чтобы не иметь проверки на стороне клиента.Если вы не хотите, чтобы пользователи выбирали даты в будущем, я думаю, это хорошо, что вы ограничиваете их возможность выбирать даты в будущем.

0 голосов
/ 07 февраля 2012

Вы можете написать свои собственные хуки в ненавязчивую проверку ASP.NET MVC для записи в data- атрибуты.

Это руководство должно начать работу.

http://www.codeproject.com/Articles/275056/Custom-Client-Side-Validation-in-ASP-NET-MVC3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...