Php Symfony ChoiceType动态填充选项并初始化空选项数组
我试图在Symfony 3.0.9中定义一些ChoiceType,表单中使用ajax填充,具体取决于动态创建的选项数量,但验证表单表明所选选项无效 我对ChoiceType的定义如下:Php Symfony ChoiceType动态填充选项并初始化空选项数组,php,symfony,Php,Symfony,我试图在Symfony 3.0.9中定义一些ChoiceType,表单中使用ajax填充,具体取决于动态创建的选项数量,但验证表单表明所选选项无效 我对ChoiceType的定义如下: ->add('position', ChoiceType::class, [ 'placeholder' => 'Select position', 'choices' => [], 'attr' => [ 'class' => 'form-c
->add('position', ChoiceType::class, [
'placeholder' => 'Select position',
'choices' => [],
'attr' => [
'class' => 'form-control choice-position'
],
])
我得到的错误是:
Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).children[lessonGroups].children[0].children[position] = 1
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Unable to reverse value for property path "position": The choice "1" does not exist or is not unique
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
The choice "1" does not exist or is not unique
我不知道是否需要进一步的信息
谢谢大家! 由于您的定义不包含任何选项(
“选项”=>[],
),因此Symfony检测到用户尝试提交不在初始授权结果中的结果
您可以设置包含所有可用值的初始选项数组,也可以使用以下命令禁用该验证:
$builder->get('yourField')->resetViewTransformers();
你的symfony版本是什么?你需要看看表单事件-“哦!我不知道。我想如果我在数组之后填充,定义就不会在意了。。。不管怎样,我只是添加了代码行,工作得非常完美。非常感谢。