title: Why model validation is not working
body: <p>I have following Model class that is used during the Web API Post. As you can see Id field is annotated as Required. </p>
  
  <pre><code>public class Model
  {
      [Required]
      public Guid Id { get; set; }
  }
  </code></pre>
  
  <p>The Post for API is as follows</p>
  
  <pre><code>[HttpPost]
  public IActionResult Post([FromBody]Model value)
  {
      if (!ModelState.IsValid)
          return BadRequest();
  
      Model newModel = new Model() { Id = value.Id };
      return Ok(newModel);
  }
  </code></pre>
  
  <p>On a sunny day, this is what I see. All good</p>
  
  <p><a href="https://i.stack.imgur.com/gtJBJ.jpg" rel="nofollow noreferrer">enter image description here</a></p>
  
  <p>On a rainy day, when Id is not provided, I get following.
  <a href="https://i.stack.imgur.com/33IuM.jpg" rel="nofollow noreferrer">enter image description here</a></p>
  
  <p>Given that in the second example, a Required field is not provided, shouldn't a BadRequest is returned rather than a 200 with invalid id guid with 00000000-0000-0000-0000-000000000000?</p>