У меня есть поле, объявленное в моей модели:
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? dataCreazione { get; set; }
в представлении я отображаю поле с помощником:
@Html.EditorFor(m => m.dataCreazione )
И когда я отправляю форму с dataCreazione null (через js - форма сериализации), при отладке я вижу значение поля dataCreazione null (правильное) в методе контроллера, но недопустимо ModelState с сообщением («dataCreazione должен быть отформатирован .....»).
Почему проверка на обнуляемый DateTime?Как я могу избежать этого?Я хочу иметь возможность отправлять DateTime null без того, чтобы сделать состояние модели недействительным.
Редактировать: Я отправляю форму через js с:
$.post(this.form.attr('action'), this.form.serialize(), function (data) {
if (data.url == null) {
_this.modal.find('.modal-content').empty();
_this.modal.find('.modal-content').html(data);
_this.bindEvents();
} else {
window.location.href = data.url;
}
});
Если я распечатаю form.serialize (), я вижу, что параметр будетотправить данныеCreazione =.В другой точке приложения я отправляю форму с нулевой датой через HTTP GETP, а на стороне сервера datetime инициализируется 01.010001 (и действительное состояние модели).
Я просто не жалуюсь, почему не могуотправьте нулевое значение datetime и получите неверное состояние модели.