From f8ff9c7ea55ef19d70fde696da8f7e23289ca5fa Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 24 Oct 2020 16:34:48 +0800 Subject: [PATCH] Do not validate for primitive objects. --- .../DataAnnotationObjectValidationContributor.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 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 797721bea3..25b59fbbcf 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/DataAnnotationObjectValidationContributor.cs @@ -45,12 +45,18 @@ namespace Volo.Abp.Validation AddErrors(errors, validatingObject); //Validate items of enumerable - if (validatingObject is IEnumerable) + if (validatingObject is IEnumerable enumerable) { - if (!(validatingObject is IQueryable)) + if (!(enumerable is IQueryable)) { - foreach (var item in (validatingObject as IEnumerable)) + foreach (var item in enumerable) { + //Do not recursively validate for primitive objects + if (TypeHelper.IsPrimitiveExtended(item.GetType())) + { + break; + } + ValidateObjectRecursively(errors, item, currentDepth + 1); } } @@ -124,4 +130,4 @@ namespace Volo.Abp.Validation } } } -} \ No newline at end of file +}