2013-08-01 10 views
8

Przygotowuję formularz przy użyciu języka szablonu Slim i chcę dodać atrybut required do danych wejściowych.Jak ustawić atrybuty HTML5, takie jak "wymagane" przy użyciu szablonu Slim

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

Jednak HTML, który jest generowany z tego kończy się

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

A to nie to, czego potrzebuję.

Przeszedłem przez dokumenty, ale nie widzę żadnego sposobu, aby Slim dodał samodzielny atrybut html5.

Nieudane jest dodanie atrybutu data-abide do znacznika form (zgodnie z wymaganiami frameworka Zurb Foundation).

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

prowadzi do

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

których skrypty ZURB zignorować.

Czego mi brakuje?

+0

[Czy to pomoże?] (Https://github.com/slim-template/slim/issues/198) – Mike

+1

No. Zobacz https://github.com/slim-template/slim/issues/433 –

+1

Właściwie [ta odpowiedź] (https://github.com/slim-template/slim/issues/433#issuecomment-21923391) prawie to nabija. Wygląda na to, że atrybut = "" jest równoważny z atrybutem autonomicznym, więc slim jest poprawny. Wygląda na to, że jest to błąd w strukturze Zurb Foundation, lub, co bardziej prawdopodobne, jakiś błąd w moim własnym. –

Odpowiedz

4

W swojej * .html.slim pliku zrobić:

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

pamiętać, że pusty atrybutu składni:

<input required> 

jest równoznaczne z:

<input required=""> 
0

Więcej czytelny będzie:

= f.input :email, required: true, autofocus: true 
Powiązane problemy