Как установить атрибуты 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 игнорируют.

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


person Dave Sag    schedule 01.08.2013    source источник
comment
Помогает ли это?   -  person Mike    schedule 01.08.2013
comment
Нет. См. github.com/slim-template/slim/issues/433.   -  person Dave Sag    schedule 01.08.2013
comment
На самом деле этот ответ в значительной степени цепляет. По-видимому, attribute= эквивалентен автономному атрибуту, поэтому slim правильно. Похоже, это ошибка в фреймворке Zurb Foundation или, что более вероятно, какая-то ошибка в моей собственной.   -  person Dave Sag    schedule 01.08.2013
comment
Мое решение состояло в том, чтобы отказаться от использования Zurb Foundation и перенести мое приложение на Bootstrap 3.   -  person Dave Sag    schedule 02.08.2013


Ответы (3)


В файле *.html.slim выполните:

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

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

<input required>

Эквивалентно:

<input required="">
person Cumulo Nimbus    schedule 19.03.2015

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

= f.input :email, required: true, autofocus: true
person The Whiz of Oz    schedule 27.07.2016

Использовать это:-

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

person Dheeraj Maheshwari    schedule 01.10.2019