Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / symfony / validator / Constraints / AbstractComparison.php
index 78db943f74f14260870ca7a477a9b9c0b5fd0912..0a7e2f3fb733ef103a7a3a38b303f5596a095cb9 100644 (file)
@@ -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,17 +25,29 @@ abstract class AbstractComparison extends Constraint
 {
     public $message;
     public $value;
+    public $propertyPath;
 
     /**
      * {@inheritdoc}
      */
     public function __construct($options = null)
     {
-        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 (null === $options) {
+            $options = array();
+        }
+
+        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);