gpt4 book ai didi

php - 将 Symfony 表单单击按钮映射到数据类

转载 作者:可可西里 更新时间:2023-11-01 00:58:20 25 4
gpt4 key购买 nike

我有一个带有多个按钮的 Symfony 形式的集合,我需要确定单击了哪个按钮。我知道可以在该按钮元素上调用 isClicked() 方法,但我想将这个单击的按钮映射到数据类中,这可能吗?

我的基本形式:

    $builder->add(
'items',
'collection',
[
'type' => new ItemForm(),
'label' => FALSE,
]
);

ItemForm:

    $builder->add(
'isRemoved',
'submit'
);

ItemForm 的数据类:

class ItemFormData
{
/**
* @var bool
*/
private $isRemoved = FALSE;

/**
* @return boolean
*/
public function isIsRemoved()
{
return $this->isRemoved;
}

/**
* @param boolean $isRemoved
*/
public function setIsRemoved($isRemoved)
{
$this->isRemoved = $isRemoved;
}
}

我需要的是在单击适当的按钮时将 TRUE 映射到 isRemoved 属性。我正在使用 Symfony 2.7。

最佳答案

实际上,我已经找到了解决方案。使用表单事件可以轻松完成:

    $builder->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event) {
$formData = $event->getData();
$form = $event->getForm();

if ($form['isRemoved']->isClicked()) {
$formData->setIsRemoved(TRUE);
}
}
);

关于php - 将 Symfony 表单单击按钮映射到数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com