首页 > 解决方案 > 当 ASP.NET Core API 操作上的 Date 属性无效时,模型变为 NULL

问题描述

在 Asp.Net Core 2.2 上,我有以下API控制器操作:

public async Task<IActionResult> Create([FromBody]BookModel model) {
}

以下内容在哪里BookModel

public class BookModel { 
  public Int32? CategoryId { get; set; }
  public String Title { get; set; }
  public DateTime? PublishedAt { get; set; }       
}

问题 1

两者CategoryIdPublishedAt都是必需的...

我将两者都设为可选,这样即使值无效,它也会通过 ModelBinder。

然后,在操作中,我验证模型并返回错误列表。

这有意义吗?

问题2

当我提交无效日期(例如:20190228。有效日期为 2019-02-28)时,控制器中的模型变为空。

知道为什么吗?这似乎很奇怪。

标签: c#asp.net-coreasp.net-core-2.2

解决方案


推荐阅读