Як визначити, які групи валідації використовувати

Дата оновлення перекладу 2022-11-20

Як визначити, які групи валідації використовувати

Групи валідації

Якщо ваш обʼєкт користується перевагами груп валідації, то вам потрібно буде вказати, які групи валідації варто використовувати у вашій формі:

1
2
3
$form = $this->createFormBuilder($users, array(
    'validation_groups' => array('registration'),
))->add(...);

Якщо ви створюєте класи форми (це гарна практика), то вам знадобиться додати наступне до методу configureOptions():

1
2
3
4
5
6
7
8
use Symfony\Component\OptionsResolver\OptionsResolver;

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'validation_groups' => array('registration'),
    ));
}

В обох випадках, лише група валідації registration буде використана для валідації основного обʼєкта. Щоб застосувати групу registration та вссі обмеження, які не є в групі, використайте:

1
'validation_groups' => ['Default', 'registration']

Note

Ви можете обрати будь-яке імʼя для ваших груп валідації, але Symfony рекомендує використання імен "нижнього snake case" (наприклад, foo_bar) на контрасті з автоматичними групами валідації, створеними Symfony, які використовують "верхній camel case" (наприклад, Default, SomeClassName).