【发布时间】:2019-07-07 18:13:49
【问题描述】:
我的数据有以下代码
public class PersonDto
{
public string name ;
public DateTime dateOfBirth;
}
现在我有了控制器来保存数据。
假设我不填写dateOfBirth,会产生错误
[HttpPost("create")]
public async Task<IActionResult> CreateClient([FromBody] PersonDto cpDto)
{
if (!ModelState.IsValid)
{
var errors = ModelState.Values.SelectMany(v => v.Errors);
var message = string.Join(" | ", ModelState.Values
.SelectMany(v => v.Errors)
.Select(e => e.ErrorMessage));
Console.WriteLine(message);
return BadRequest(message);
}
......... (other code)
}
假设我没有输入dateOfBirth,应该会产生错误吧。
我的问题是当我保存时会生成错误消息,但似乎 ErrorMessage 总是空字符串 ==> (" | ")
如果我进入调试模式,我可以看到哪些字段产生了错误,但我不知道如何显示哪些字段产生了错误(只是收到 Invalid fields 错误消息)。
我试过了
return BadRequest(ModelState);
它也不显示哪个字段导致了错误。
注意:我在 .NET Core 2.2 中使用 C#
【问题讨论】:
标签: c# error-handling .net-core-2.2