How to Define the Validation Groups to Use
Validation Groups
If your object takes advantage of validation groups, you'll need to specify which validation group(s) your form should use. Pass this as an option when creating forms in controllers:
1 2 3
$form = $this->createFormBuilder($user, [
'validation_groups' => ['registration'],
])->add(/* ... */);
When creating forms in classes, add the
following to the configureOptions()
method:
1 2 3 4 5 6 7 8 9
use Symfony\Component\OptionsResolver\OptionsResolver;
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
// ...
'validation_groups' => ['registration'],
]);
}
In both of these cases, only the registration
validation group will
be used to validate the underlying object. To apply the registration
group and all constraints that are not in a group, use:
1
'validation_groups' => ['Default', 'registration']
Note
You can choose any name for your validation groups, but Symfony recommends
using "lower snake case" names (e.g. foo_bar
) in contrast with the
automatic validation groups created by Symfony, which use "upper camel case"
(e.g. Default
, SomeClassName
).