From a010a873731df82a77b122ed55fa45af5325a525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Deruss=C3=A9?= Date: Wed, 20 May 2020 22:20:50 +0200 Subject: [PATCH] Make ExpressionLanguageSyntax validator usable with annotation --- .../Validator/Constraints/ExpressionLanguageSyntax.php | 2 +- .../Constraints/ExpressionLanguageSyntaxValidator.php | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntax.php b/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntax.php index 7391554acf0c1..eab003854dc72 100644 --- a/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntax.php +++ b/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntax.php @@ -37,6 +37,6 @@ class ExpressionLanguageSyntax extends Constraint */ public function validatedBy() { - return $this->service; + return $this->service ?? static::class.'Validator'; } } diff --git a/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntaxValidator.php b/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntaxValidator.php index 4a02d49a86c6f..e7104452e7678 100644 --- a/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntaxValidator.php +++ b/src/Symfony/Component/Validator/Constraints/ExpressionLanguageSyntaxValidator.php @@ -24,7 +24,7 @@ class ExpressionLanguageSyntaxValidator extends ConstraintValidator { private $expressionLanguage; - public function __construct(ExpressionLanguage $expressionLanguage) + public function __construct(ExpressionLanguage $expressionLanguage = null) { $this->expressionLanguage = $expressionLanguage; } @@ -42,6 +42,10 @@ public function validate($expression, Constraint $constraint): void throw new UnexpectedTypeException($expression, 'string'); } + if (null === $this->expressionLanguage) { + $this->expressionLanguage = new ExpressionLanguage(); + } + try { $this->expressionLanguage->lint($expression, ($constraint->validateNames ? ($constraint->names ?? []) : null)); } catch (SyntaxError $exception) {