Laravel: form tramite blade

Oggi andremo a realizzare un semplice form tramite blade.

Iniziamo con l’installare nel nostro progetto quel che ci serve per utilizzare i form, quindi dal terminale diamo il seguente comando:

composer require "laravelcollective/html":"^5.2.0"

Poi apriamo il file app.php che si trova nella cartella config, a questo punto andiamo a cercare l’array providers e aggiungiamo all’elenco questa riga:

Collective\Html\HtmlServiceProvider::class,

Poi andiamo più sotto e troviamo aliases qui ci sono da aggiungere queste due righe:

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,

Perfetto ora Iniziamo con l’apertura del form e ci leghiamo subito la chiusura, tutto il resto lo metteremo tra questi due:

{!! Form::open(['url'=>'form-dati']) !!}

{!! Form::close()  !!}

Il metodo da utilizzare è open, questo metodo accetta un array, qui abbiamo scritto l’url e l’abbiamo chiamato form-dati, quest’ultima sarebbe la action, il metodo di default è post.

Iniziamo a creare i vari elementi del form:

{!! Form::label('nome', 'Nome') !!}

{!! Form::text('nome', null, ['placeholder'=>'il tuo nome']) !!}

Il primo parametro nome dentro label è l’id del campo di testo con cui sarà associato alla label, il secondo il testo della label.  Con il secondo creiamo l’input di tipo testo in questo caso, e gli diamo il nome della variabile con il primo parametro, il secondo valore è un eventuale valore predefinito all’interno, quindi nullo. Poi c’è un array con gli attributi, ad esempio qui abbiamo messo un placeholder.

Per creare un input e-mail scriveremo:

{!! Form::label('email', 'Email') !!}
{!! Form::email('email') !!}

Per inserire un dato numerico faremo in questo modo:

{!! Form::label('anni', 'Età') !!}
{!! Form::number('anni', null, ['min' => '3']) !!}

Anche qui abbiamo la possibilità di fissare degli attributi, qui abbiamo fatto in modo che i numeri partano da 3, non potremmo scrivere un numero minore di 3.

Per inserire una textarea faremo così:

{!! Form::label('biografia', 'Biografia') !!}
{!! Form::textarea('bio', null, ['cols'=>10, 'rows' =>20, 'placeholder'=>'la tua biografia']) !!}

Aggiungiamo pure la checkbox :

{!! Form::label('piace', 'Ti piace il sito') !!}

Si {!! Form::checkbox('sito', 'si', true) !!}
    
No {!! Form::checkbox('sito', 'no') !!}

E anche dei radio:

{!! Form::label('sesso', 'Il tuo sesso') !!}
Femmina {!! Form::radio('sesso', 'femmina', true) !!}
Maschio {!! Form::radio('sesso', 'maschio') !!}

Per finire andiamo a inserire il bottone di invio, proprio subito prima del tag di chiusura del form

{!! Form::submit('invia') !!}

di Massimiliano Salerno

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *