diff --git a/Directory.Build.props b/Directory.Build.props index 8193bb6..af569cf 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ - 1.3.0 + 1.3.1 SharpGrip SharpGrip SharpGrip diff --git a/FluentValidation.AutoValidation.Mvc/src/Filters/FluentValidationAutoValidationActionFilter.cs b/FluentValidation.AutoValidation.Mvc/src/Filters/FluentValidationAutoValidationActionFilter.cs index 47578eb..d1e742b 100644 --- a/FluentValidation.AutoValidation.Mvc/src/Filters/FluentValidationAutoValidationActionFilter.cs +++ b/FluentValidation.AutoValidation.Mvc/src/Filters/FluentValidationAutoValidationActionFilter.cs @@ -41,6 +41,8 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE if (autoValidationMvcConfiguration.ValidationStrategy == ValidationStrategy.Annotations && endpoint != null && !endpoint.Metadata.OfType().Any()) { + HandleUnvalidatedEntries(context); + await next(); return; @@ -76,13 +78,7 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE } } - if (autoValidationMvcConfiguration.DisableBuiltInModelValidation) - { - foreach (var modelStateEntry in context.ModelState.Values.Where(modelStateEntry => modelStateEntry.ValidationState == ModelValidationState.Unvalidated)) - { - modelStateEntry.ValidationState = ModelValidationState.Skipped; - } - } + HandleUnvalidatedEntries(context); if (!context.ModelState.IsValid) { @@ -96,5 +92,16 @@ public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionE await next(); } + + private void HandleUnvalidatedEntries(ActionExecutingContext context) + { + if (autoValidationMvcConfiguration.DisableBuiltInModelValidation) + { + foreach (var modelStateEntry in context.ModelState.Values.Where(modelStateEntry => modelStateEntry.ValidationState == ModelValidationState.Unvalidated)) + { + modelStateEntry.ValidationState = ModelValidationState.Skipped; + } + } + } } } \ No newline at end of file