From 3ab2b37471ef42a6c2467a96bbbac1754cbd4edb Mon Sep 17 00:00:00 2001 From: DrWarpMan <36279265+DrWarpMan@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:29:04 +0200 Subject: [PATCH] fix validatorClassNameMap (#2881) --- .../Espo/Core/FieldValidation/ValidatorFactory.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/FieldValidation/ValidatorFactory.php b/application/Espo/Core/FieldValidation/ValidatorFactory.php index 6e8bdad977..6f13bb85ae 100644 --- a/application/Espo/Core/FieldValidation/ValidatorFactory.php +++ b/application/Espo/Core/FieldValidation/ValidatorFactory.php @@ -31,6 +31,7 @@ namespace Espo\Core\FieldValidation; use Espo\Core\InjectableFactory; use Espo\Core\Utils\Metadata; +use Espo\Core\Utils\FieldUtil; use Espo\ORM\Entity; use RuntimeException; @@ -40,7 +41,8 @@ class ValidatorFactory public function __construct( private InjectableFactory $injectableFactory, - private Metadata $metadata + private Metadata $metadata, + private FieldUtil $fieldUtil ) {} public function isCreatable(string $entityType, string $field, string $type): bool @@ -67,9 +69,11 @@ class ValidatorFactory */ private function getClassName(string $entityType, string $field, string $type): ?string { + $fieldType = $this->fieldUtil->getEntityTypeFieldParam($entityType, $field, 'type'); + return $this->metadata->get(['entityDefs', $entityType, 'fields', $field, 'validatorClassNameMap', $type]) ?? - $this->metadata->get(['fields', $field, 'validatorClassNameMap', $type]); + $this->metadata->get(['fields', $fieldType, 'validatorClassNameMap', $type]); } /**