From 905baffdc6bdd39b27a17aa3a1d5faa60bfd357d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Aug 2019 14:53:36 +0300 Subject: [PATCH] Resolved #1498: Set IServiceProvider in ValidationContext. --- .../DataAnnotationObjectValidationContributor.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs index 5598fe7827..797721bea3 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; @@ -13,10 +14,14 @@ namespace Volo.Abp.Validation { public const int MaxRecursiveParameterValidationDepth = 8; + protected IServiceProvider ServiceProvider { get; } protected AbpValidationOptions Options { get; } - public DataAnnotationObjectValidationContributor(IOptions options) + public DataAnnotationObjectValidationContributor( + IOptions options, + IServiceProvider serviceProvider) { + ServiceProvider = serviceProvider; Options = options.Value; } @@ -90,7 +95,7 @@ namespace Volo.Abp.Validation if (validatingObject is IValidatableObject validatableObject) { errors.AddRange( - validatableObject.Validate(new ValidationContext(validatableObject)) + validatableObject.Validate(new ValidationContext(validatableObject, ServiceProvider, null)) ); } } @@ -103,7 +108,7 @@ namespace Volo.Abp.Validation return; } - var validationContext = new ValidationContext(validatingObject) + var validationContext = new ValidationContext(validatingObject, ServiceProvider, null) { DisplayName = property.DisplayName, MemberName = property.Name