2013-08-01 10 views
8

I metto a disposizione un modulo utilizzando la lingua del modello Slim e desidero aggiungere l'attributo required al mio input.Come impostare attributi HTML5 come "richiesto" utilizzando un modello Slim

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

Tuttavia il codice HTML che viene generato da questo finisce per essere

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

e che non è quello che mi serve.

Ho esaminato i documenti ma non riesco a vedere alcun modo con Slim per aggiungere un attributo html5 autonomo.

Allo stesso modo l'aggiunta dell'attributo data-abide al tag form (come richiesto dal framework Zurb Foundation) non riesce.

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

porta a

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

Quali gli script ZURB ignorano.

Cosa mi manca?

+0

[Fa questo aiuto?] (Https://github.com/slim-template/slim/issues/198) – Mike

+1

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

+1

In realtà [questa risposta] (https://github.com/slim-template/slim/issues/433#issuecomment-21923391) praticamente lo inchioda. Apparentemente attributo = "" è equivalente all'attributo standalone, quindi slim è corretto. Sembra essere un bug nel framework di Zurb Foundation, o, più probabilmente, qualche errore nel mio. –

risposta

4

Nel * file di .html.slim fare:

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

Si noti che la sintassi attributo vuoto:

<input required> 

è equivalente a:

<input required=""> 
0

Altro sarebbe leggibile:

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