Symfony形式:禁用Twig字段的"必需"

Aer*_*dir 6 php forms symfony twig

我正在尝试为Symfony中构建的表单中的字段禁用前端HTML5验证.

在Twig中,我使用此代码:

{{ form_widget(form.email, {'attr': {'class': 'form-control input-lg','novalidate': 'novalidate}}) }}
Run Code Online (Sandbox Code Playgroud)

但该领域仍被视为必需.我究竟做错了什么?

Ren*_*hle 8

您可以在表单类型中设置它以禁用字段验证.

->add('test', null, array(
    'required' => false
))
Run Code Online (Sandbox Code Playgroud)

如果你想为整个字段禁用它,你可以尝试这样的事情:

{{ form_start(form, { attr: {novalidate: 'novalidate'} }) }}
Run Code Online (Sandbox Code Playgroud)


Ben*_*der 5

您可以在树枝上执行此操作:

{{ form_start(form, { attr: {novalidate: 'novalidate'} }) }}
Run Code Online (Sandbox Code Playgroud)

或者,您可以在您的formtype类中执行此操作:

->add('name', 'text', ['required' => false])
Run Code Online (Sandbox Code Playgroud)

编辑:

在下面的示例中,只有name字段会触发html5验证。

表格类

->add('name', 'text')
->add('middlename', 'text', ['required' => false])
Run Code Online (Sandbox Code Playgroud)

枝条

{{ form_start(form) }}
    <p>NAME: {{ form_widget(form.name) }}</p>
    <p>MIDDLENAME: {{ form_widget(form.middlename) }}</p>

    <p><button name="button">Submit</button></p>
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)