ExpressionLanguageSyntax.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Component\Validator\Constraints;
  11. use Symfony\Component\Validator\Constraint;
  12. /**
  13. * @Annotation
  14. * @Target({"PROPERTY", "METHOD", "ANNOTATION"})
  15. *
  16. * @author Andrey Sevastianov <mrpkmail@gmail.com>
  17. */
  18. #[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)]
  19. class ExpressionLanguageSyntax extends Constraint
  20. {
  21. public const EXPRESSION_LANGUAGE_SYNTAX_ERROR = '1766a3f3-ff03-40eb-b053-ab7aa23d988a';
  22. protected static $errorNames = [
  23. self::EXPRESSION_LANGUAGE_SYNTAX_ERROR => 'EXPRESSION_LANGUAGE_SYNTAX_ERROR',
  24. ];
  25. public $message = 'This value should be a valid expression.';
  26. public $service;
  27. public $allowedVariables;
  28. public function __construct(array $options = null, string $message = null, string $service = null, array $allowedVariables = null, array $groups = null, $payload = null)
  29. {
  30. parent::__construct($options, $groups, $payload);
  31. $this->message = $message ?? $this->message;
  32. $this->service = $service ?? $this->service;
  33. $this->allowedVariables = $allowedVariables ?? $this->allowedVariables;
  34. }
  35. /**
  36. * {@inheritdoc}
  37. */
  38. public function validatedBy()
  39. {
  40. return $this->service ?? static::class.'Validator';
  41. }
  42. }