From 5ba7c7c94ece8a84fa1ec7ef490222627fc71098 Mon Sep 17 00:00:00 2001 From: Manuel Rossard <95523073+mrossard@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:47:18 +0200 Subject: [PATCH 1/2] fix: small error in delete validation The code in current version doesn't work and does nothing with the validation results. --- core/validation.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/validation.md b/core/validation.md index 16264bddefc..23a269b08ed 100644 --- a/core/validation.md +++ b/core/validation.md @@ -419,7 +419,11 @@ final readonly class MyEntityRemoveProcessor implements ProcessorInterface public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []) { - $this->validator->validate($data, ['groups' => ['deleteValidation']]); + $validationErrors = $this->validator->validate($data, groups: ['deleteValidation']]); + if($validationErrors->count() > 0) { + //trigger some error / throw some exception...for example + throw new ConflictHttpException($errors->get(0)->getMessage()); + } $this->doctrineProcessor->process($data, $operation, $uriVariables, $context); } } From 3583931c566503a51c3f3898df55028b5dba492a Mon Sep 17 00:00:00 2001 From: Manuel Rossard Date: Tue, 14 Jan 2025 15:23:57 +0100 Subject: [PATCH 2/2] fix: throw a ValidationException --- core/validation.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/validation.md b/core/validation.md index 23a269b08ed..8c69c30506d 100644 --- a/core/validation.md +++ b/core/validation.md @@ -419,10 +419,10 @@ final readonly class MyEntityRemoveProcessor implements ProcessorInterface public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []) { - $validationErrors = $this->validator->validate($data, groups: ['deleteValidation']]); - if($validationErrors->count() > 0) { - //trigger some error / throw some exception...for example - throw new ConflictHttpException($errors->get(0)->getMessage()); + $violations = $this->validator->validate($data, groups: ['deleteValidation']]); + if(0 !== \count($violations)) { + //trigger some error / throw some exception...for example : + throw new ValidationException($violations); } $this->doctrineProcessor->process($data, $operation, $uriVariables, $context); }