У меня есть объект Model с обязательным атрибутом
public class ApiPing
{
[Required]
public DateTime ClientTime { get; set; }
public DateTime ServerTime { get; set; }
}
У меня есть метод Controller, который проверяет состояние модели.
public IHttpActionResult Ping(ApiPing model)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
model.ServerTime = DateTime.UtcNow;
return Ok(model);
}
Если я отправлю соответствующий запрос (с моделью) в метод действия, я получаю правильное значение из ModeState.IsValid(true). Однако, когда я отправляю неверный запрос (без модели, поэтому модель равна нулю), я получаю ошибочный ModelState.IsValid(также верно).
Я мог бы просто проверить, является ли модель нулевым в моем коде, но это пахнет. Является ли это предполагаемой "особенностью" или ошибкой в проверке ModelState? Я делаю что-то неправильно? Я ожидаю слишком много?