jquery ui datepicker и mvc просмотреть тип модели datetime

Я использую jquery datepicker в моей модели просмотра

Вот мое мнение:

@Html.TextBoxFor(o => o.JobStartDate, new { id = "dt1", @class = "input-block-level" }) @Html.ValidationMessage("JobStartDate") 

и мой сценарий:

 $("#dt1").datepicker({ dateFormat: "dd/mm/yy" }); 

Все работает нормально, если моя дата <= 12, если моя дата больше 12, она покажет мне сообщение об ошибке проверки, в котором говорится: «Дата начала поля должна быть датой». (Я использую проверку jquery)

Например: дата 16/12/2014 даст мне ошибку, а 12/12/2014 не будет

Вот моя модель:

 [Required] [DataType(DataType.Date)] [Display(Name = "Start Date")] public DateTime JobStartDate { get; set; } 

Я подозреваю, что моя модель просмотра ожидает дату в формате mm / dd / yyyy, в то время как на моем datepicker i указано dd / mm / yy, есть ли способ сказать моей модели просмотра, что я ожидаю формат dd / mm / yy, поэтому что он не выдает сообщение об ошибке, если дата> = 12.

Вы можете посмотреть, как использовать jquery globalize или добавить в свой скрипт следующее (предполагая, что формат даты культуры сервера равен «dd / MM / yyy»)

 $.validator.addMethod('date', function (value, element) { if (this.optional(element)) { return true; } var valid = true; try { $.datepicker.parseDate('dd/mm/yy', value); } catch (err) { valid = false; } return valid; }); $('#dt1').datepicker({ dateFormat: 'dd/mm/yy' }); 

и используйте @Html.ValidationMessageFor(m => m.JobStartDate)

Здесь модель MVC View:

  public DateTime? date { get; set; } 

Это для скрипта:

  $('.DatePickers').datetimepicker({ timepicker: false, format: 'dM-Y', scrollInput: false, closeOnDateSelect: true }); 

событие нажатия клавиши для выбора даты и времени

  $(".DatePickers").keypress(function (event) { event.preventDefault(); }); 

Вам нужно будет создать пользовательский валидатор. Вам нужно изменить свое свойство, чтобы вместо этого использовать строковое значение

 public string JobStartDate {get; set; } 

Затем вам необходимо создать свой собственный валидатор

 public class CheckDateAttribute : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { // Validate your Date here } } 

После этого вы просто украсите свое имущество как таковое –

 [CheckDate] public string JobStartDate {get; set;} 

Вот хороший учебник по пользовательским валидаторам

  • сделать JLabel обернуть его текстом, установив максимальную ширину
  • Проверка MVC / JQuery не принимает запятую как разделитель
  • json Uncaught SyntaxError: Неожиданный токен:
  • Как передать значения с одной страницы на другую в jQuery
  • Элемент jquery fade не отображает элементы в стиле «видимость: скрытый»
  • map () get () путаница
  • CORS с jQuery и XDomainRequest в IE8 / 9
  • Обработка ошибок в вызовах getJSON
  • Как использовать jQuery для события click в веб-приложении iPhone
  • Диалоговое окно JQuery UI не размещено на центральном экране
  • Более чистый способ выбора нескольких возможных значений атрибутов?
  • Interesting Posts

    Как реализовать drag and drop для Android маркера?

    Сериализовать компоненты JavaFX

    Что означает T && (double ampersand) в C ++ 11?

    Какой носитель следует использовать для долговременного, большого объема, хранения данных (архивирования)?

    Как использовать GWT EventBus

    Разделение большого хранилища Git на многие более мелкие

    XML-атрибут и элемент XML

    Как добавить виртуальные сетевые адаптеры на мой Linux-ПК, чтобы они отображали свои MAC-адреса в домене ISP?

    Как очистить MemoryCache?

    CMD: Как использовать неанглийские символы?

    Восстановление частично отформатированного USB-накопителя

    Как написать ключевой прослушиватель для отслеживания всех нажатий клавиш на Java?

    Как использовать платную версию моего приложения в качестве «ключа» для бесплатной версии?

    .htaccess перенаправить все страницы в новый домен.

    Передача аргументов интерактивной программе не интерактивно

    Давайте будем гением компьютера.