如何从symfony 2控制器中删除嵌入表单中的表单域

如何从symfony 2控制器中删除嵌入表单中的表单域,第1张

概述我有一个表格如下: class AdminEmployerForm extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('firstName', 'text') 我有一个表格如下:
class adminEmployerForm extends AbstractType {    public function buildForm(FormBuilderInterface $builder,array $options) {        $builder            ->add('firstname','text')            ->add('user',new adminUserForm());    }}class adminUserForm extends AbstractType {    public function buildForm(FormBuilderInterface $builder,array $options) {        $builder            ->add('username','text')            ->add('email','text');    }}

我在控制器中调用adminEmployerForm,我想从adminEmployerForm中删除adminUserForm的电子邮件字段:

$form = $this->createForm(new adminEmployerForm,$employer);//i want to do something like $form->remove('email')

如何使用$form-> remove()删除嵌入表单中的字段?是否可以从控制器中删除嵌入式表单的字段?

解决方法 您必须获取嵌入的表单类型才能从中删除字段.
$form = $this->createForm(new adminEmployerForm,$employer);// Get the embedded form...$adminUserForm = $form->get('user');// ... remove its email fIEld.$adminUserForm->remove('email');

不确定您的确切用例,但您可以考虑leveraging form events,因为它可能比在控制器中处理它更理想.

总结

以上是内存溢出为你收集整理的如何从symfony 2控制器中删除嵌入表单中的表单域全部内容,希望文章能够帮你解决如何从symfony 2控制器中删除嵌入表单中的表单域所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1140968.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存