为表单实体创建自定义验证

时间:2014-10-27 16:12:54

标签: validation symfony symfony-forms formbuilder

我正在使用表单构建器创建一个选择字段,形成一个如下所示的实体:

$form->add(
                    'existing_items','entity', array(
                    'label' => 'Artikel aus',
                    'class' => 'ProjectShoppinglistBundle:Item',
                    'empty_value' => 'Bitte einen Artikel auswählen',
                    'property' => 'name',
                    'query_builder' => function(EntityRepository $er) use ($options) {
                        return $er->createQueryBuilder('item')
                            ->leftJoin('item.userItems', 'userItem')
                            ->where('userItem.user = ' . $options['attr']['id'])
                            ->orderBy('item.name', 'ASC');

                    },
                    'attr' => array(
                        'class' => 'form-control',
                    ),
                ));

但是我使用jquery来更改下拉列表的内容,所以我需要更改字段的验证,我怎样才能实现表单中的值对items-table中的所有元素都有效而不仅仅是与我在查询中使用的userId相关联的那个?
这对我的方法是必要的,因为我有第二个下拉列表,用户可以定义他是否想要查看他自己的列表,其他列表或所有项目上的项目

我已经看过this,但我仍然不知道如何使用eventListener来获得所需的结果。

如果有人能给我一个有用的提示,我会非常感激。

0 个答案:

没有答案