繁体   English   中英

pre_set_data和post_submit表单事件

[英]pre_set_data and post_submit form event

我的表单中有两个列表:“州”和“国家”。 状态列表取决于国家列表。 我使用表单事件来处理此问题,根据文档,我需要两个事件:pre_set_data和post_submit。 所以这里我的代码是我的表单类型:

$formModifier = function(FormInterface $form, Country $country) use ($options) {
// Query to get all states by countryID
}

1 /初始化

$builder->addEventListener(FormEvents::PRE_SET_DATA, function(FormEvent $event) use ($formModifier)
{
$country = ...;
$formModifier($event->getForm, $country);
}

2 /帖子提交处理程序

$builder->get('country')->addEventListener(FormEvents::POST_SUBMIT, function(FormEvent $event) use ($formModifier) {

            $formModifier($event->getForm()->getParent(), $event->getForm()->getData());
}

一切工作正常,除非在调用表单commit pre_set_data和post_submit的情况下。 我在$ formModifier函数中的查询被调用了两次。

这是正常行为吗?

当然可以。 这两个事件都发生,因此两个侦听器都被激活,调用函数$ formModifier ...,因此该函数被调用两次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM