我不想要一些字段来展示。我试过这样的
{{form_start(form)}}
{{form_widget(form)}}
{% do form.password.setRendered %}
{{ form_end(form) }}
但它没有用。
这是我的表单类。我不希望password
字段显示。
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username')
->add('email')
->add('password')
->add('type', ChoiceType::class, array(
'choices' => array(
'User' => 'ROLE_USER',
'Admin' => 'ROLE_ADMIN',
),
))
->add('save', SubmitType::class)
;
}
}
答案 0 :(得分:2)
在呈现表单之前,您需要更改行的顺序并首先告诉password
字段已呈现:
{{form_start(form)}}
{% do form.password.setRendered %}
{{form_widget(form)}}
{{ form_end(form) }}
答案 1 :(得分:1)
从Form/UserType.php
班级中删除此行:
->add('password')
它将不再呈现。