diff --git a/src/FormSerializer.php b/src/FormSerializer.php index bd6d67c..ac1b419 100644 --- a/src/FormSerializer.php +++ b/src/FormSerializer.php @@ -43,6 +43,9 @@ final class FormSerializer private EventDispatcher $eventDispatcher; + /** @var string[] */ + private array $groups = []; + public function __construct( private Form $form, private string $class, @@ -56,6 +59,14 @@ public function __construct( $this->prepare(); } + /** + * @param string[] $groups + */ + public function setGroups(array $groups): void + { + $this->groups = $groups; + } + public function setPersistObject(bool $persistObject): self { $this->persistObject = $persistObject; @@ -160,7 +171,7 @@ private function prepare(): void // validate if ($this->validateObject && $this->validator) { - $errors = $this->validator->validate($object); + $errors = $this->validator->validate($object, null, $this->groups ?: null); if ($errors) { foreach ($errors->getViolations() as $error) {