【发布时间】:2018-05-01 08:22:39
【问题描述】:
WEB API --->
public async Task<IHttpActionResult> CreatePost(ChildClient c)
{
if(!ModelState.IsValid) {
throw ...
}
..
}
public class Client
{
[Required]
public bool HasBaseValue { get; set; } = true;
[Required]
public string Name { get; set; } = "stringvalue";
}
public class ChildClient : Client
{
[Required]
public bool HasFieldValue { get; set; } = true;
[Required]
public string Name1 { get; set; } = "stringvalue";
}
ModelState.Keys 给出以下错误:如果两个字段均未提供,则 HasBaseValue,HasFieldValue。 为什么即使设置了默认值,它仍然显示在错误字段中。 注意:当我通过断点进行调试和检查时,默认值已经填充到“c 对象”中。
【问题讨论】:
-
值已经在 c 中填充。奇怪的问题是,它不会给 Name 和 Name1 字段带来问题,即使没有提供但布尔字段会产生问题。
标签: asp.net-web-api modelstate modelstatedictionary