当属性为null时,必需的可空属性仍然有效

时间:2017-09-02 01:51:17

标签: c# asp.net validation asp.net-core nullable

我有一个像这样的基本模型:

public class MyModel
{
  [Required] public int? Id { get; set; }
  [Required] public string Name { get; set; }
  [Required] public Guid? BigId { get; set; }
}

一个从路径接受这些属性的控制器:

[HttpPost("api/{bigId}/blah/{name}/{id}")]
public IActionResult Post([FromRoute] MyModel model)
{
  if (!ModelState.IsValid)
    return BadRequest(ModelState);

  // ...
}

我发布到以下网址:http://localhost/api/%20/blah/%20/%20

我的控制器收到一个包含所有null属性的模型,但ModelState.IsValid返回true。为什么会这样?

0 个答案:

没有答案