[英]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.