Closed
Description
Symfony version(s) affected
5.3.x
Description
Java Bean validation can be applied on method argument in a MVC Controller or other Jakarta EE components, but this does not work in Symfony.
I got the following exception when adding attributes on method arguments of a Controller.
Uncaught Error: Attribute "Symfony\Component\Validator\Constraints\PositiveOrZero" cannot target parameter (allowed targets: method, prop
erty)
How to reproduce
Create a method like this.
#[Route(path: "", name: "all", methods: ["GET"])]
function all(string $keyword, #[PositiveOrZero] int $offset = 0, #[Positive] int $limit = 20): Response
{
$data = $this->posts->findByKeyword($keyword||'', $offset, $limit);
return $this->json($data);
}
Possible Solution
Make it work, and if validation failed throws an ContraintsVoilationException
.
Additional Context
Add a built-in EventListener
to handle this exception by default.
Metadata
Metadata
Assignees
Labels
Issues and PRs which are looking for volunteers to complete them.Issues and PRs which are looking for volunteers to complete them.