diff --git a/src/Symfony/Component/Validator/Constraints/Sequentially.php b/src/Symfony/Component/Validator/Constraints/Sequentially.php index 53a0a3b912050..36a801a4e28c0 100644 --- a/src/Symfony/Component/Validator/Constraints/Sequentially.php +++ b/src/Symfony/Component/Validator/Constraints/Sequentially.php @@ -20,7 +20,7 @@ * * @author Maxime Steinhausser */ -#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] +#[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_PROPERTY | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] class Sequentially extends Composite { public $constraints = []; diff --git a/src/Symfony/Component/Validator/Tests/Fixtures/Annotation/Entity.php b/src/Symfony/Component/Validator/Tests/Fixtures/Annotation/Entity.php index 0e07611b0f260..d4a3f4f71e8f7 100644 --- a/src/Symfony/Component/Validator/Tests/Fixtures/Annotation/Entity.php +++ b/src/Symfony/Component/Validator/Tests/Fixtures/Annotation/Entity.php @@ -19,6 +19,9 @@ * @Symfony\Component\Validator\Tests\Fixtures\ConstraintA * @Assert\GroupSequence({"Foo", "Entity"}) * @Assert\Callback({"Symfony\Component\Validator\Tests\Fixtures\CallbackClass", "callback"}) + * @Assert\Sequentially({ + * @Assert\Expression("this.getFirstName() != null") + * }) */ class Entity extends EntityParent implements EntityInterfaceB { diff --git a/src/Symfony/Component/Validator/Tests/Fixtures/Attribute/Entity.php b/src/Symfony/Component/Validator/Tests/Fixtures/Attribute/Entity.php index bb069b49e0ddf..00bcf5fb4badb 100644 --- a/src/Symfony/Component/Validator/Tests/Fixtures/Attribute/Entity.php +++ b/src/Symfony/Component/Validator/Tests/Fixtures/Attribute/Entity.php @@ -22,6 +22,11 @@ Assert\GroupSequence(['Foo', 'Entity']), Assert\Callback([CallbackClass::class, 'callback']), ] +/** + * @Assert\Sequentially({ + * @Assert\Expression("this.getFirstName() != null") + * }) + */ class Entity extends EntityParent implements EntityInterfaceB { /** diff --git a/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php b/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php index c55796824a800..8555cdb81dc2b 100644 --- a/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php +++ b/src/Symfony/Component/Validator/Tests/Fixtures/NestedAttribute/Entity.php @@ -22,6 +22,9 @@ ConstraintA, Assert\GroupSequence(['Foo', 'Entity']), Assert\Callback([CallbackClass::class, 'callback']), + Assert\Sequentially([ + new Assert\Expression('this.getFirstName() != null') + ]) ] class Entity extends EntityParent implements EntityInterfaceB { diff --git a/src/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php index 93638412b1263..ab0f79663562e 100644 --- a/src/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php +++ b/src/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php @@ -19,6 +19,7 @@ use Symfony\Component\Validator\Constraints\Choice; use Symfony\Component\Validator\Constraints\Collection; use Symfony\Component\Validator\Constraints\Email; +use Symfony\Component\Validator\Constraints\Expression; use Symfony\Component\Validator\Constraints\IsTrue; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\NotNull; @@ -65,6 +66,9 @@ public function testLoadClassMetadata(string $namespace) $expected->setGroupSequence(['Foo', 'Entity']); $expected->addConstraint(new ConstraintA()); $expected->addConstraint(new Callback(['Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback'])); + $expected->addConstraint(new Sequentially([ + new Expression('this.getFirstName() != null'), + ])); $expected->addConstraint(new Callback(['callback' => 'validateMe', 'payload' => 'foo'])); $expected->addConstraint(new Callback('validateMeStatic')); $expected->addPropertyConstraint('firstName', new NotNull()); @@ -151,6 +155,9 @@ public function testLoadClassMetadataAndMerge(string $namespace) $expected->setGroupSequence(['Foo', 'Entity']); $expected->addConstraint(new ConstraintA()); $expected->addConstraint(new Callback(['Symfony\Component\Validator\Tests\Fixtures\CallbackClass', 'callback'])); + $expected->addConstraint(new Sequentially([ + new Expression('this.getFirstName() != null'), + ])); $expected->addConstraint(new Callback(['callback' => 'validateMe', 'payload' => 'foo'])); $expected->addConstraint(new Callback('validateMeStatic')); $expected->addPropertyConstraint('firstName', new NotNull()); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy