[英]Symfony2 choice field “This value is not valid.”
我对动态表单有疑问。
我有两个选择。 首先(名称:controller)具有静态值。 第二个(名称:驱动程序)具有基于首次选择值的动态值。 当我更改第一个选择时,第二个值将生成新值。 一切都会好的,但是表格不想保存。 我有这个错误:
该值无效。
我的表单生成器:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('controller', null, array(
'attr' => array(
'id' => 'controller',
'class' => 'form-control'
)
))
->add('driver', 'choice', array(
'required' => false,
'choices' => array(),
'attr' => array(
'id' => 'driver',
'class' => 'form-control'
)
))
->add('update', 'submit', array(
'label' => 'form.btn.edit',
'attr' => array(
'class' => 'btn btn-default'
)
))
;
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'My\ControllerBundle\Entity\Event'
));
}
我为什么不能保存它?
我想问题是驱动程序字段在选择中有一个空数组。 要根据其他字段动态变化,应使用表单事件:
http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html
并使用事件动态添加驱动程序字段。
这是可以为您提供帮助的帖子:
http://showmethecode.es/php/symfony/symfony2-4-dependent-forms/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.