gpt4 book ai didi

php - 我可以在构建时更改 Form Class 操作吗?

转载 作者:可可西里 更新时间:2023-11-01 12:40:53 26 4
gpt4 key购买 nike

在表单类的 buildForm 方法(AbstractType 派生的)上,我可以设置该表单的操作吗?我想做的类似于构建嵌入式表单时可以使用的 setAction 方法:

$form = $this->createFormBuilder()
->setAction($this->generateUrl('my_action'))
->add('field', 'text')
->add('button', 'submit');

我的意思是,setAction 是否等同于表单类?

最佳答案

您可以在 buildForm 方法中访问相同的表单生成器,因此只需调用 setAction 即可:

public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setAction($path);
}

问题是如何将 $path 传递给表单类型。其中一种方法是在创建表单时将其作为选项传递。但是,如果您无论如何都要传递 $path,为什么不直接设置 action 本身呢?

$form = $this->createForm(new MyType(), $object, array(
'action' => $this->generateUrl('my_action'),
));

另一种方法是将路由器注入(inject)表单类型并使用它来生成 URL,但我认为在表单类型中做出此类决定不是一个好主意。

关于php - 我可以在构建时更改 Form Class 操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18647567/

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