Symfony form: отключить "обязательный" для поля из Twig


Я пытаюсь отключить проверку HTML5-интерфейса для файла в форме, построенной в Symfony.

В Twig я использую следующий код:

{{ form_widget(form.email, {'attr': {'class': 'form-control input-lg','novalidate': 'novalidate}}) }}
Но поле по-прежнему считается обязательным. Что я делаю не так?
2   3   2015-06-13 14:33:39

2 ответа:

Вы можете установить это в своем типе формы, чтобы отключить проверку полей.

->add('test', null, array(
    'required' => false
))

Если вы хотите отключить его для всего поля, вы можете попробовать что-то вроде этого:

{{ form_start(form, { attr: {novalidate: 'novalidate'} }) }}

Вы можете просто сделать это в twig:

{{ form_start(form, { attr: {novalidate: 'novalidate'} }) }}

Или вы можете сделать это в своем классе formtype:

->add('name', 'text', ['required' => false])

Редактировать:

В приведенном ниже примере только поле name инициирует проверку html5.

Formclass

->add('name', 'text')
->add('middlename', 'text', ['required' => false])

Прутик

{{ 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) }}