This is a fix for the specific case reported in #3743 and also a few related cases where the object being validated does not come from user input. Because the CancellationToken is bound using the 'empty prefix', suppressing validation causes the validation system to suppress ALL keys in the MSD. This will wipe out validation info for other, unrelated model data. The same can occur for [FromServices], IFormCollection, IFormFile, and HttpRequestMessage (anythere when MSD key == null and SuppressValidation == true). The other change here is related to the [FromBody]. We don't want to create an entry in the model state for a 'valid' model with the empty prefix. This can cause the system to miss validation errors. If you end up in a situation where there's an entry with the empty prefix for an invalid state, you won't accidentally miss validation errors. |
||
|---|---|---|
| samples | ||
| src | ||
| test | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE.txt | ||
| Mvc.NoFun.sln | ||
| Mvc.sln | ||
| NuGet.config | ||
| NuGetPackageVerifier.json | ||
| README.md | ||
| Settings.StyleCop | ||
| appveyor.yml | ||
| build.cmd | ||
| build.sh | ||
| global.json | ||
| makefile.shade | ||
README.md
ASP.NET MVC
ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and gives you full control over markup for enjoyable, agile development. ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards.
ASP.NET MVC in ASP.NET 5 includes support for building web pages and HTTP services in a single aligned framework that can be hosted in IIS or self-hosted in your own process.
Related community projects:
- AspNet.Mvc.TypedRouting: A collection of extension methods providing strongly typed routing and link generation for ASP.NET MVC 6 projects.
- ASP.NET MVC Boilerplate: Rich templates for ASP.NET MVC 5 and 6
This project is part of ASP.NET 5. You can find samples, documentation and getting started instructions for ASP.NET 5 at the Home repo.