У меня есть следующие коды для моих данных
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
всегда пустая строка ==> (" | ")
Если я перехожу в режим отладки, я вижу, какие поля выдают ошибку, но я не знаю, как отобразить, какие поля вызвали ошибку (просто получить сообщение об ошибке «Недопустимые поля»).
Я пытался
return BadRequest(ModelState);
также не отображается, какое поле вызвало ошибку.
Примечание: я использую C # в .NET Core 2.2