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