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:

クラスでフォームを作成するときは、configureOptions() メソッドに次を追加します。
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).

検証グループには任意の名前を選択できますが、Symfony が作成する「大文字のキャメルケース」(例: Default、SomeClassName) を使用する自動検証グループとは対照的に、「小文字のスネークケース」の名前 (例: foo_bar) を使用することを Symfony は推奨しています。