如何在Symfony2中的特定表单元素上分配验证组

时间:2015-01-04 12:08:16

标签: php forms validation symfony

我在Symfony2中有一个表单类,我正在为表单的每个元素添加验证标准(不是连接的实体对象)。我想在一些元素中添加验证组,但我似乎无法弄清楚如何。

我指定表格的验证组,如下所示:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'Acme\CommonBundle\Entity\Campaign',
        'validation_groups' => array('Default', 'new_title')
    ));
}

在特定的表单元素上,我这样做:

->add('title', 'text', array(
    'required' => true,
    'help_text' => 'This is the title.',
    'constraints' => array(new NotBlank(), new Length(array('min' => 3, 'max' => 150))),
    'validation_groups' => array('new_title')

然而,这似乎并没有起作用。我做错了吗?

1 个答案:

答案 0 :(得分:1)

您可以将验证组分配给特定表单元素(as described in the docs for current symfony2 version),如下所示:

->add('title', 'text', array(
'required' => true,
'help_text' => 'This is the title.',
'constraints' => array(new NotBlank(array('groups' => array('new_title')), new Length(array('min' => 3, 'max' => 150, 'groups' => array('new_title')))),