symfony2动态提交表单修改

时间:2014-08-22 15:08:39

标签: php jquery forms symfony

我正在动态修改表单,如官方example所示。

我之前获得了这个字段,当用户输入时,它通过jQuery自动完成功能提交。当匹配设置正确时,表格应自动更新以添加新字段,根据" previous"字段值。

$builder->get('previous')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) use ($formModifier) {
    $previous = $event->getForm()->getData();
    $formModifier($event->getForm()->getParent(), $previous);
});

$formModifier = function (FormInterface $form, $previous = null) {
    if ($previous instanceof AwesomeEntity) {
        $form->add('changes', new AwesomeChangesType(), array(
            'data' => $previous->getLastComment('changes'),
            'label' => false,
            'mapped' => false
        ));
    }
};

正如您所见:

'data' => $previous->getLastComment('changes'),

数据是在提交发生后设置的,但是没有设置,据我所知:默认情况下,symfony在POST_SUBMIT事件后阻止数据修改,因此数据未设置。< / p>

我不知道为什么,但可能有一个很好的理由,这种行为就是这样。所以问题是在没有违反symfony形式逻辑规则的情况下,是否有其他方法为所需字段设置数据?

0 个答案:

没有答案