Maven + Surefire: перезаписать временную и выходную директорию

Существует ряд потенциальных проблем.

Сначала атрибуты [DataType(DataType.DateTime)] и [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] применимы только при использовании @Html.EditorFor() и используются для визуализации реализации браузера HTML5 datepicker (он добавляет атрибут type="date"). Поскольку вы используете jQueryUI datepicker, тогда эти атрибуты не требуются. В любом случае, если вам нужен браузер HTML5 datepicker, формат должен быть DataFormatString = "{0:yyyy-MM-dd}" (формат ISO) для правильной работы. Обратите внимание, что датпикер HTML5 поддерживается только в современных браузерах, а еще не совсем в FireFox ( ссылается на сравнение )

Если вы используете jQueryUI datepicker, тогда это может быть просто

@Html.TextBoxFor(m => m.StartFieldDate, new { @class = "form-control datepicker" })

и установить формат в сценарии datepicker

$('.datepicker').datepicker({ dateFormat: 'dd/mm/yy' });

Сообщение о проверке может быть связано с одной из двух проблем. На стороне клиента jquery-validate.js проверяет дату с использованием формата MM/dd/yyyy. Вы можете переопределить это, чтобы использовать dd/MM/yyyy, включив jquery globalize или добавив следующий скрипт

$.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;
});
$('.datepicker').datepicker({ dateFormat: 'dd/mm/yy' });

. Другая потенциальная проблема - проверка на стороне сервера. Если культура сервера не принимает даты в формате dd/MM/yyyy (например, ), на сервере может быть выбрана ошибка проверки, и в этом случае вам нужно будет создать пользовательский ModelBinder для DateTime.

Боковое примечание: Я предполагаю, что @Html.ValidationMessageFor(m => m.DataTurno, ..) является опечаткой (модель, которую вы показали, не включает свойство DataTurno) и что ее действительно @Html.ValidationMessageFor(m => m.StartFieldDate, ..)

0
задан 30thh 13 July 2018 в 16:25
поделиться