Как установить атрибуты HTML5, такие как "требуется", используя шаблон Slim

Я создаю форму, используя Slim язык шаблона и хочу добавить атрибут required к моему вводу.

input#first_name(required name="first_name" type="text" pattern="^[A-Z][a-z]+$")

Однако HTML, который генерируется из этого, заканчивается

 <input id="first_name" name="first_name" pattern="^[A-Z][a-z]+$" required="" type="text" />

И это не то, что мне нужно.

Я просмотрел документы, но не вижу никакого способа с помощью Slim добавить автономный атрибут html5.

Аналогично добавление атрибута data-abide к тегу form (как это требуется в рамках среды Zurb Foundation) терпит неудачу.

form.custom(data-abide method="POST" action="/registration")

приводит к

<form action="/registration" class="custom" data-abide="" method="POST">

Какие сценарии Zurb игнорируются.

Что мне не хватает?

Ответ 1

В файле *.html.slim выполните следующие действия:

input#first_name required="" name="first_name" type="text" pattern="^[A-Z][a-z]+$"

Обратите внимание, что пустой синтаксис атрибута:

<input required>

Является эквивалентным:

<input required="">

Ответ 2

Более читаемым будет:

= f.input :email, required: true, autofocus: true

Ответ 3

Используйте это: -

= text_field_tag: user_name, "XYZ", только для чтения: true, обязательно: true