diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationVisitor.cs b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationVisitor.cs
index 64231e2a78..d128b04dd6 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationVisitor.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Validation/ValidationVisitor.cs
@@ -15,25 +15,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
///
public class ValidationVisitor
{
- protected IModelValidatorProvider ValidatorProvider { get; }
- protected IModelMetadataProvider MetadataProvider { get; }
- protected ValidatorCache Cache { get; }
- protected ActionContext Context { get; }
- protected ModelStateDictionary ModelState { get; }
- protected ValidationStateDictionary ValidationState { get; }
- protected ValidationStack CurrentPath { get; }
-
- protected object Container { get; set; }
- protected string Key { get; set; }
- protected object Model { get; set; }
- protected ModelMetadata Metadata { get; set; }
- protected IValidationStrategy Strategy { get; set; }
-
- ///
- /// Indicates whether validation of a complex type should be performed if validation fails for any of its children. The default behavior is false.
- ///
- public bool ValidateComplexTypesIfChildValidationFails { get; set; }
-
///
/// Creates a new .
///
@@ -74,7 +55,25 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
ModelState = actionContext.ModelState;
CurrentPath = new ValidationStack();
}
+
+ protected IModelValidatorProvider ValidatorProvider { get; }
+ protected IModelMetadataProvider MetadataProvider { get; }
+ protected ValidatorCache Cache { get; }
+ protected ActionContext Context { get; }
+ protected ModelStateDictionary ModelState { get; }
+ protected ValidationStateDictionary ValidationState { get; }
+ protected ValidationStack CurrentPath { get; }
+ protected object Container { get; set; }
+ protected string Key { get; set; }
+ protected object Model { get; set; }
+ protected ModelMetadata Metadata { get; set; }
+ protected IValidationStrategy Strategy { get; set; }
+
+ ///
+ /// Indicates whether validation of a complex type should be performed if validation fails for any of its children. The default behavior is false.
+ ///
+ public bool ValidateComplexTypesIfChildValidationFails { get; set; }
///
/// Validates a object.
///
@@ -82,7 +81,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
/// The model prefix key.
/// The model object.
/// true if the object is valid, otherwise false.
- public virtual bool Validate(ModelMetadata metadata, string key, object model)
+ public bool Validate(ModelMetadata metadata, string key, object model)
{
return Validate(metadata, key, model, alwaysValidateAtTopLevel: false);
}