aspnetcore/src/Mvc/shared
Ryan Nowak 91e6839c8d
Adds inferred [Required] for non-null ref types (#9978)
* Adds inferred [Required] for non-null ref types

Follow up from #9194

This change adds the automatic inference of [Required] for non-nullable
properties and parameters. This means that if you opt into nullable
context in C#8, we'll start treating those types as-if you put
[Required] on them.

This provides a nice invariant to rely on, namely that MVC will honor
your declared nullability contract OR report a validation error. This
reinforces the guidance already published by the C# team for using
POCOs/DTOs with nullability. See
https://github.com/aspnet/specs/blob/master/notes/3_0/nullable.md for my
analysis on the topic.

* preemptively fix PR feedback xD

* PR feedback and functional test

* more

* Fix test failures

* fix

* more

* Do a barrel roll
2019-06-02 17:11:43 -07:00
..
Mvc.Core.TestCommon Adds inferred [Required] for non-null ref types (#9978) 2019-06-02 17:11:43 -07:00
Mvc.TestDiagnosticListener
Mvc.Views.TestCommon