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;} 

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

  • Отправить форму в rails 3 по ajax (с jQuery)
  • jQuery Подтвердить плагин, требуется одно из двух полей
  • jQuery добавляет Google Adsense к div
  • onHide () тип события в jQuery
  • Как отключить масштабирование колесика мыши с помощью API Карт Google
  • Как определить прокрутку страницы до определенной точки в jQuery?
  • Передача динамического json-объекта на controller C # MVC
  • Каковы различия между обычным и тонким пакетом jquery?
  • Как получить реальный .hight () переполнения: скрытый или переполненный: прокрутка div?
  • Разница между .on ('click') vs .click ()
  • Как сделать первый вариант , выбранный с помощью jQuery
  • Давайте будем гением компьютера.