У меня есть портал MVC 5, который принудительно запущен в IE11 (для работы с клиентами). Теперь Chrome стал новым стандартом для клиентов, и я исправляюсь, чтобы он работал.
У меня странная ситуация:
Я использую jquery datepicker для полей datetime. В IE11 он работает без проблем. В Chrome я получаю ошибку во время проверки, он не распознает допустимое datetime для таких значений, как 31/12/2020 (12/12/2020 работает, вероятно, потому что вместо этого проверяет формат mm / dd / yy дд / мм / гг).
Модель:
[Display(Name = "ActionPlan_f_data_prevision_close", ResourceType = typeof(Resources.Resource))]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public virtual DateTime f_data_prevision_close { get; set; }
Просмотр:
<div class="form-group">
@Html.LabelFor(model => model.f_data_prevision_close, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.f_data_prevision_close, "{0:dd/MM/yyyy}", new { htmlAttributes = new { @class = "form-control" , @type = "textbox" } })
@Html.ValidationMessageFor(model => model.f_data_prevision_close, "", new { @class = "text-danger" })
</div>
</div>
Кто-нибудь знает, почему в IE11 он работает в то время как Chrome нет ?
Что мне нужно добавить, чтобы jquery валидация проверила правильное значение даты?
Заранее спасибо
Временный патч:
отключение jquery datepicker и с использованием type = "data". Единственный способ пусть пока работает в Chrome. На стороне сервера у меня также был формат даты для SQL, который в этом случае можно отключить, так как valus всегда в формате гггг-мм-дд (https://developers.google.com/web/updates/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome?hl=en)
Модель:
[Display(Name = "ActionPlan_f_data_prevision_close", ResourceType = typeof(Resources.Resource))]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public virtual DateTime? f_data_prevision_close { get; set; }
Просмотр:
<div class="form-group">
@Html.LabelFor(model => model.f_data_prevision_close, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.f_data_prevision_close, "{0:yyyy-mm-dd}", new { htmlAttributes = new { @class = "form-control" , @type = "date", @autocomplete = "off" } })
@Html.ValidationMessageFor(model => model.f_data_prevision_close, "", new { @class = "text-danger" })
</div>
</div>