diff --git a/src/Microsoft.AspNetCore.Mvc.Core/Internal/MvcCoreMvcOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.Core/Internal/MvcCoreMvcOptionsSetup.cs
index b71ab8554f..0246e9a223 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/Internal/MvcCoreMvcOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/Internal/MvcCoreMvcOptionsSetup.cs
@@ -86,11 +86,11 @@ namespace Microsoft.AspNetCore.Mvc.Internal
options.ModelValidatorProviders.Add(new DefaultModelValidatorProvider());
// Add types to be excluded from Validation
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Type)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Uri)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(CancellationToken)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(IFormFile)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(IFormCollection)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(Type)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(Uri)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(CancellationToken)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(IFormFile)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(IFormCollection)));
}
}
}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationExcludeFilter.cs b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/SuppressChildValidationMetadataProvider.cs
similarity index 85%
rename from src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationExcludeFilter.cs
rename to src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/SuppressChildValidationMetadataProvider.cs
index 16b560dba3..5c10bfdcb3 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationExcludeFilter.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/SuppressChildValidationMetadataProvider.cs
@@ -6,22 +6,22 @@ using System.Diagnostics;
using System.Reflection;
using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata;
-namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
+namespace Microsoft.AspNetCore.Mvc.ModelBinding
{
///
/// An which configures to
/// false for matching types.
///
- public class ValidationExcludeFilter : IValidationMetadataProvider
+ public class SuppressChildValidationMetadataProvider : IValidationMetadataProvider
{
///
- /// Creates a new for the given .
+ /// Creates a new for the given .
///
///
/// The . This and all assignable values will have
/// set to false.
///
- public ValidationExcludeFilter(Type type)
+ public SuppressChildValidationMetadataProvider(Type type)
{
if (type == null)
{
@@ -32,13 +32,13 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
}
///
- /// Creates a new for the given .
+ /// Creates a new for the given .
///
///
/// The type full name. This type and all of its subclasses will have
/// set to false.
///
- public ValidationExcludeFilter(string fullTypeName)
+ public SuppressChildValidationMetadataProvider(string fullTypeName)
{
if (fullTypeName == null)
{
diff --git a/src/Microsoft.AspNetCore.Mvc.Formatters.Json/Internal/MvcJsonMvcOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.Formatters.Json/Internal/MvcJsonMvcOptionsSetup.cs
index 7cbbf7f05e..be98df37de 100644
--- a/src/Microsoft.AspNetCore.Mvc.Formatters.Json/Internal/MvcJsonMvcOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Formatters.Json/Internal/MvcJsonMvcOptionsSetup.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Buffers;
-using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.ObjectPool;
using Microsoft.Extensions.Options;
@@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Mvc.Formatters.Json.Internal
options.FormatterMappings.SetMediaTypeMappingForFormat("json", MediaTypeHeaderValue.Parse("application/json"));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(JToken)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(JToken)));
}
}
}
diff --git a/src/Microsoft.AspNetCore.Mvc.Formatters.Xml/Internal/MvcXmlDataContractSerializerMvcOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.Formatters.Xml/Internal/MvcXmlDataContractSerializerMvcOptionsSetup.cs
index 5520950317..031b796016 100644
--- a/src/Microsoft.AspNetCore.Mvc.Formatters.Xml/Internal/MvcXmlDataContractSerializerMvcOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Formatters.Xml/Internal/MvcXmlDataContractSerializerMvcOptionsSetup.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata;
-using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.Extensions.Options;
namespace Microsoft.AspNetCore.Mvc.Formatters.Xml.Internal
@@ -32,8 +32,8 @@ namespace Microsoft.AspNetCore.Mvc.Formatters.Xml.Internal
options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter());
options.InputFormatters.Add(new XmlDataContractSerializerInputFormatter());
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter("System.Xml.Linq.XObject"));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter("System.Xml.XmlNode"));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider("System.Xml.Linq.XObject"));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider("System.Xml.XmlNode"));
}
}
}
diff --git a/src/Microsoft.AspNetCore.Mvc.WebApiCompatShim/WebApiCompatShimOptionsSetup.cs b/src/Microsoft.AspNetCore.Mvc.WebApiCompatShim/WebApiCompatShimOptionsSetup.cs
index e75fae9159..1cd98c2ad7 100644
--- a/src/Microsoft.AspNetCore.Mvc.WebApiCompatShim/WebApiCompatShimOptionsSetup.cs
+++ b/src/Microsoft.AspNetCore.Mvc.WebApiCompatShim/WebApiCompatShimOptionsSetup.cs
@@ -3,7 +3,7 @@
using System.Net.Http;
using System.Net.Http.Formatting;
-using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
@@ -33,8 +33,8 @@ namespace Microsoft.AspNetCore.Mvc.WebApiCompatShim
// Add a formatter to write out an HttpResponseMessage to the response
options.OutputFormatters.Insert(0, new HttpResponseMessageOutputFormatter());
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(HttpRequestMessage)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(HttpResponseMessage)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(HttpRequestMessage)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(HttpResponseMessage)));
}
public void Configure(WebApiCompatShimOptions options)
diff --git a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/DefaultObjectValidatorTests.cs b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/DefaultObjectValidatorTests.cs
index 17dda63446..dd664c7aac 100644
--- a/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/DefaultObjectValidatorTests.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/DefaultObjectValidatorTests.cs
@@ -1068,10 +1068,10 @@ namespace Microsoft.AspNetCore.Mvc.Internal
private static DefaultObjectValidator CreateValidator(Type excludedType)
{
- var excludeFilters = new List();
+ var excludeFilters = new List();
if (excludedType != null)
{
- excludeFilters.Add(new ValidationExcludeFilter(excludedType));
+ excludeFilters.Add(new SuppressChildValidationMetadataProvider(excludedType));
}
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider(excludeFilters.ToArray());
diff --git a/test/Microsoft.AspNetCore.Mvc.IntegrationTests/ValidationIntegrationTests.cs b/test/Microsoft.AspNetCore.Mvc.IntegrationTests/ValidationIntegrationTests.cs
index 19b736bc13..2ed7bd361f 100644
--- a/test/Microsoft.AspNetCore.Mvc.IntegrationTests/ValidationIntegrationTests.cs
+++ b/test/Microsoft.AspNetCore.Mvc.IntegrationTests/ValidationIntegrationTests.cs
@@ -1272,7 +1272,7 @@ namespace Microsoft.AspNetCore.Mvc.IntegrationTests
},
options =>
{
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Address)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(Address)));
testOptions = options;
});
diff --git a/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs b/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
index 2e7ad74935..5f36d0b9b9 100644
--- a/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.Test/MvcOptionsSetupTest.cs
@@ -162,44 +162,44 @@ namespace Microsoft.AspNetCore.Mvc
provider => Assert.IsType(provider),
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(Type), excludeFilter.Type);
},
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(Uri), excludeFilter.Type);
},
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(CancellationToken), excludeFilter.Type);
},
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(IFormFile), excludeFilter.Type);
},
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(IFormCollection), excludeFilter.Type);
},
provider => Assert.IsType(provider),
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(JToken), excludeFilter.Type);
},
provider => Assert.IsType(provider),
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(XObject).FullName, excludeFilter.FullTypeName);
},
provider =>
{
- var excludeFilter = Assert.IsType(provider);
+ var excludeFilter = Assert.IsType(provider);
Assert.Equal(typeof(XmlNode).FullName, excludeFilter.FullTypeName);
});
}
diff --git a/test/WebSites/FormatterWebSite/Startup.cs b/test/WebSites/FormatterWebSite/Startup.cs
index 47265c7ac6..810bc98020 100644
--- a/test/WebSites/FormatterWebSite/Startup.cs
+++ b/test/WebSites/FormatterWebSite/Startup.cs
@@ -4,7 +4,7 @@
using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.Extensions.DependencyInjection;
namespace FormatterWebSite
@@ -15,8 +15,8 @@ namespace FormatterWebSite
{
services.AddMvc(options =>
{
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Developer)));
- options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Supplier)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(Developer)));
+ options.ModelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(Supplier)));
options.InputFormatters.Add(new StringInputFormatter());
})