我尝试类似的东西 - 验证Symfony 2中的动态加载选择
但是当我们收到提交的表格时,请检查可能的值 - 在我的座位上,任何内容都是正确的。
我添加修改以允许任何值 - 就像这里一样
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$data = $event->getData();
$event->getForm()->add('tags', 'tag', [
'label' => 'Sub Choice',
'choices' => $data['tags'],
'mapped'=>false,
'required'=>false,
'multiple'=>true,
]);
});
但它不起作用 - 如何使其可用?
标签是我的输入扩展选择(对于 JS Ajax 选择)
好的,
我发现了问题。这个例子没问题,但我们需要array_flip
这是工作版本
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$data = $event->getData();
if(is_array($data['tags']))$data=array_flip($data['tags']);
else $data = array();
$event->getForm()->add('tags', 'tag', [
'label' => 'Sub Choice',
'choices' => $data,
'mapped'=>false,
'required'=>false,
'multiple'=>true,
]);
});