c# - 当 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
两者CategoryId
和PublishedAt
都是必需的...
我将两者都设为可选,这样即使值无效,它也会通过 ModelBinder。
然后,在操作中,我验证模型并返回错误列表。
这有意义吗?
问题2
当我提交无效日期(例如:20190228。有效日期为 2019-02-28)时,控制器中的模型变为空。
知道为什么吗?这似乎很奇怪。
解决方案
推荐阅读
- javascript - 使用点符号时在类内丢失 THIS
- elasticsearch - 我在从弹性搜索中的索引中删除所有文档而不删除索引时遇到问题
- angular - 将数据保存在数组o Angular和Typescript中的问题
- java - 当项目导出为 JAR 时,有没有办法从项目目录之外的属性文件中加载信息?
- python - geopands 中缺少“纽约市”几何图形
- javascript - 如何在 vanilla javascript 中为 graphlql 查询变量提供值
- python - Matplolib 发出“没有这样的通信”警告并杀死内核
- ftp - 使用“经典 ASP”通过 FTP 传输本地文件
- c++ - 在 C++ 中以编程方式更改 exe 的图标
- csv - 如何在sqoop中导出具有特殊字符的csv文件