Symfony-更改现有文件的属性(FosUserBundle ProfileFormType)

时间:2018-10-02 19:46:09

标签: forms symfony symfony-forms symfony4

我设法在自己的Form中使用getParent()方法来“扩展” ProfileFormType,但是我没有设法更改现有FosProfileType字段的属性。 (用户名和current_password)。

我想添加属性autocomplete="off"(可能不是off作为值,我发现它在最新版本的浏览器中被忽略了),但是我无法在Builder中对其进行更改

我可以获得选项和属性,但是由于没有setOption()方法,因此无法替换。

目前,我在细枝中覆盖了它,但如果可能的话,我更愿意在表单中这样做。

这是我现有的代码

public function buildForm(FormBuilderInterface $builder, array $options)
{
    if ($builder->get('current_password')->hasOption('attr')) {
        $attr = $builder->get('current_password')->getOption('attr');
        $attr['autocomplete'] = 'new-password';
        //setOption ???
    }
    //else add the 'attr'
    ...
}

还有树枝:

{{ form_row(form.username) }}
{{ form_row(form.current_password, {'attr':{'autocomplete': 'new-password'}}) }}

顺便说一句,仅在password输入上将其添加到树枝中也会禁用username输入的自动完成功能。我也不知道为什么

0 个答案:

没有答案