Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/validator/Constraints/AbstractComparison.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 7a779792577d |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/symfony/validator/Constraints/AbstractComparison.php Mon Apr 23 09:33:26 2018 +0100 +++ b/vendor/symfony/validator/Constraints/AbstractComparison.php Mon Apr 23 09:46:53 2018 +0100 @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\ConstraintDefinitionException; @@ -24,6 +25,7 @@ { public $message; public $value; + public $propertyPath; /** * {@inheritdoc} @@ -34,11 +36,18 @@ $options = array(); } - if (is_array($options) && !isset($options['value'])) { - throw new ConstraintDefinitionException(sprintf( - 'The %s constraint requires the "value" option to be set.', - get_class($this) - )); + if (is_array($options)) { + if (!isset($options['value']) && !isset($options['propertyPath'])) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires either the "value" or "propertyPath" option to be set.', get_class($this))); + } + + if (isset($options['value']) && isset($options['propertyPath'])) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires only one of the "value" or "propertyPath" options to be set, not both.', get_class($this))); + } + + if (isset($options['propertyPath']) && !class_exists(PropertyAccess::class)) { + throw new ConstraintDefinitionException(sprintf('The "%s" constraint requires the Symfony PropertyAccess component to use the "propertyPath" option.', get_class($this))); + } } parent::__construct($options);