diff --git a/src/validated-dto/src/ValidatedDTO.php b/src/validated-dto/src/ValidatedDTO.php index c59d42a43..cfaac4a48 100644 --- a/src/validated-dto/src/ValidatedDTO.php +++ b/src/validated-dto/src/ValidatedDTO.php @@ -19,6 +19,7 @@ use Hyperf\Contract\ValidatorInterface; use Hyperf\Validation\Contract\ValidatorFactoryInterface; use Hyperf\Validation\ValidationException; +use Hyperf\Validation\Validator; use InvalidArgumentException; abstract class ValidatedDTO extends SimpleDTO @@ -61,6 +62,11 @@ protected function after(ValidatorInterface $validator): void // Do nothing } + protected function afterValidatorResolving(ValidatorInterface $validator): void + { + // Do nothing + } + protected function scenes(): array { return []; @@ -150,6 +156,8 @@ protected function isValidData(): bool $this->attributes() ); + $this->afterValidatorResolving($this->validator); + $this->validator->after(fn ($validator) => $this->after($validator)); return ! $this->validator->fails(); @@ -197,6 +205,8 @@ private function validationPasses(): bool $this->attributes() ); + $this->afterValidatorResolving($this->validator); + $this->validator->after(fn (ValidatorInterface $validator) => $this->after($validator)); return ! $this->validator->fails();