如何在 Prestashop 1.7 中删除 HTML 属性 `pattern`,*classes/form/CustomerLoginFormatter.php*

How to remove HTML attribute `pattern` in Prestashop 1.7, *classes/form/CustomerLoginFormatter.php*

我的客户联系表有一个密码字段,其中包含 pattern=".{5,}"。由于它不是注册表单,我想删除此 HTML 属性。

于是,我打开classes/form/CustomerLoginForm.php,看到这里用了一个FormFormatterInterfaceclasses/form/CustomerLoginFormatter.php.

后者包含:

public function getFormat()
{
    return [
        [...],
        'password' => (new FormField)
            ->setName('password')
            ->setType('password')
            ->setRequired(true)
            ->setLabel($this->translator->trans(
                'Password', [], 'Shop.Forms.Labels'
            ))
            ->addConstraint('isPasswd'),
    ];
}

没有行指定此 HTML pattern 属性。

我在哪里可以删除它?我应该在上面的代码中写一些 setter 还是添加一些约束? (当然是覆盖)

您可以从文件中删除该模式:/themes/classic/templates/_partials/form-fields.tpl

搜索此行并根据需要删除或更改:pattern=".{literal}{{/literal}5,{literal}}{/literal}"