我写了一个symfony FormType
- 一个有POST_SUBMIT
EventListener的类,我想在其中设置一个默认值
现有字段依赖于另一个填充的表单元素。
换句话说:依赖于选定的现有用户(实体选择)我想将另一个实体选择字段(国家和州)的默认数据设置为对应值。
代码如下所示:
$formModifier = function (FormInterface $form, Person $person = null)
{
if ($person) {
$form->get('country')->setData(
$person->getCountry()
);
}
};
通过选择用户提交表单但未成功验证,因此应选择国家/地区。 Person-Object存在,值正确且已到达语句。
但未选择该值。使用POST_SUBMIT
- FormEvent?
附加信息:symfony 2.7,PHP 5.6,实现类似于http://symfony.com/doc/2.7/cookbook/form/dynamic_form_modification.html#dynamic-generation-for-submitted-forms下的第二个示例
提前致谢!
马丁
编辑:
formModifier
的调用方式如下:
$builder->get('field')->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event) use ($formModifier) {
$person = $event->getForm()->getData();
$formModifier($event->getForm()->getParent(), $person)
}
};