son*_*nam 6 symfony-forms symfony symfony-2.3
我有一个表格如下:
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');
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制器中调用AdminEmployerForm,我想从AdminEmployerForm中删除AdminUserForm的电子邮件字段:
$form = $this->createForm(new AdminEmployerForm, $employer);
//i want to do something like $form->remove('email')
Run Code Online (Sandbox Code Playgroud)
如何使用$ form-> remove()删除嵌入式表单中的字段?是否可以从控制器中删除嵌入式表单的字段?
Cy *_*y K 14
您必须获取嵌入的表单类型才能从中删除字段.
$form = $this->createForm(new AdminEmployerForm, $employer);
// Get the embedded form...
$adminUserForm = $form->get('user');
// ... remove its email field.
$adminUserForm->remove('email');
Run Code Online (Sandbox Code Playgroud)
不确定您的确切用例,但您可以考虑利用表单事件,因为它可能比在控制器中处理它更理想.
| 归档时间: |
|
| 查看次数: |
7873 次 |
| 最近记录: |