laravel forms validation rules with example
Questo tutorial spiega i moduli Laravel e le regole di convalida dei moduli. Informazioni sui diversi elementi del modulo con esempi:
Nel Database Laravel tutorial di Serie di tutorial Laravel , abbiamo imparato a conoscere la gestione del database, le migrazioni, il seeding, le query SQL non elaborate, i modelli eloquenti, le relazioni eloquenti, l'artigiano e il tinker.
I moduli sono una caratteristica essenziale quando si sviluppa un'applicazione basata sul web. È difficile persino pensare a un'applicazione web senza avere un modulo. La convalida è un fattore critico quando si crea un modulo e senza un'adeguata convalida questi sono inutili.
Esistono diversi metodi per creare un modulo. In questo tutorial, abbiamo discusso uno di questi metodi. Questo tutorial aggiorna anche la tua conoscenza HTML relativa ai moduli.
In questo tutorial, abbiamo coperto Forme di Laravel e Regole di convalida di Laravel . Per tutti gli esempi abbiamo utilizzato Laravel versione 7 .
Cosa imparerai:
Laravel Forms
Prerequisiti
Per procedere, è necessario avere familiarità con i seguenti concetti:
# 1) Bootstrap
Abbiamo utilizzato Bootstrap come framework CSS in questo tutorial, assumendo che tu abbia familiarità con il framework Bootstrap. Visita questo collegamento per saperne di più su Bootstrap.
# 2) Installazione di Laravel e creazione di un nuovo progetto
Si prega di fare riferimento al Tutorial introduttivo di Laravel per capire come installare Laravel e creare un nuovo progetto.
# 3) Configurazione del database Laravel
Si prega di fare riferimento al Esercitazione sul database Laravel per avere l'idea di base del concetto di database Laravel.
Token CSRF
CSRF sta per Richiesta tra siti falsi . Il token CSRF viene utilizzato per proteggere l'applicazione Web dagli attacchi CSRF. Questi token contengono un valore univoco generato dal lato server dell'applicazione, che viene inviato al lato client dell'applicazione. Inoltre, aiuta a verificare se un utente autenticato sta inviando la richiesta all'applicazione.
Usiamo questo token quando lo sviluppatore crea un modulo come mostrato di seguito:
@csrf ... Elementi del modulo
Il seguente elenco mostra alcuni degli elementi del modulo che possiamo utilizzare durante la creazione di un modulo.
- Etichetta
- L'immissione di testo
- Input predefinito
- Inserimento del numero
- Inserimento della data
- Input di file
- Input nascosto
- Textarea
- Ingresso e-mail
- Inserimento della password
- Elenco a discesa o casella di selezione
- Ingresso pulsante radio
- Ingresso pulsante radio
- Ingresso del pulsante di opzione selezionato
- Casella di controllo
- Input della casella di controllo
- Input della casella di controllo selezionata
- Pulsante
- Pulsante normale
- Pulsante Invia
- Pulsante di riposo
Possiamo utilizzare i seguenti frammenti di codice come riferimento durante la creazione di un modulo.
# 1) Etichetta
Descrizione: Un'etichetta rappresenta la didascalia per l'elemento del modulo.
Esempio: Generazione di un'etichetta per nome di battesimo .
First Name
# 2) Input di testo
Descrizione: Un campo di immissione di testo è un campo di immissione di una riga che consente all'utente di immettere del testo.
Esempio: Generazione di un campo di input di testo per nome di battesimo .
# 3) Input predefinito
Descrizione: Un campo di input predefinito consente allo sviluppatore di inserire un campo di input con un valore predefinito. L'utente può inviare il modulo con il valore predefinito o modificare il valore.
Esempio: Generazione di un campo di input per nome di battesimo con il valore predefinito John Doe .
# 4) Inserimento del numero
Descrizione: Il numero del campo di input consente all'utente di inserire un valore numerico.
Esempio: Generazione di un campo di input numerico per età .
# 5) Inserimento della data
Descrizione: Un campo di immissione della data consente all'utente di selezionare una data.
Esempio: Generazione di un campo di immissione della data per Data di nascita .
# 6) Input di file
Descrizione: Un campo di input file consente all'utente di caricare un file.
Esempio: Generazione di un campo di selezione file per copia del certificato caricare.
# 7) Input nascosto
Descrizione: Un campo di input nascosto consente allo sviluppatore di aggiungere dati quando l'utente invia il modulo e l'utente non può vedere o modificare questi dati.
Esempio: Generazione di un campo di input nascosto per ID studente che ha il valore 220 .
# 8) Textarea
Descrizione: Un'area di testo consente all'utente di inserire un testo lungo. Può contenere più righe di testo.
Esempio: Generazione di un'area di testo per indirizzo .
# 9) Input e-mail
Descrizione: Un campo di immissione e-mail consente all'utente di inserire un indirizzo e-mail. Convalida automaticamente il formato dell'email.
Esempio: Generazione di un campo di immissione e-mail.
# 10) Immissione della password
Descrizione: Un campo di immissione della password consente all'utente di inserire una password. I caratteri in entrata sono mascherati.
Esempio: Generazione di un campo di immissione della password.
# 11) Elenco a discesa o casella di selezione
Descrizione: Un elenco a discesa o una casella di selezione consente all'utente di selezionare un'opzione da un elenco di opzioni.
Esempio: Generazione di un elenco a discesa per titolo .
Title -- Mr. Ms. Dr.
# 12) Ingresso pulsante di opzione
a) Ingresso pulsante radio
Descrizione: Un pulsante di opzione consente all'utente di selezionare una singola opzione da un elenco di due o più opzioni che si escludono a vicenda.
Esempio: Generazione di un campo di immissione del pulsante di opzione per Genere .
Gender Male Female
b) Ingresso del pulsante di opzione selezionato
Descrizione: Ciò consente allo sviluppatore di inserire un campo di immissione del pulsante di opzione selezionato.
Esempio: Generazione di un campo di immissione del pulsante di opzione per Genere - maschio l'opzione è controllato .
Gender Male Female
# 13) Input casella di controllo
a) Input della casella di controllo
Descrizione: Una casella di controllo consente all'utente di selezionare una o più opzioni da un determinato insieme di opzioni.
Esempio: Generazione di un campo di input della casella di controllo per colori .
Colours Red Yellow Green
b) Input della casella di controllo selezionata
Descrizione: Ciò consente allo sviluppatore di inserire un campo di input della casella di controllo che è selezionato.
Esempio: Generazione di un campo di input della casella di controllo per colori - netto è controllato .
Colours Red Yellow Green
# 14) Pulsanti
È possibile utilizzare tre tipi di pulsanti durante la creazione di moduli Laravel.
- Pulsante normale
- Pulsante Invia
- Tasto reset
a) Pulsante normale
Descrizione: Un pulsante normale è un pulsante cliccabile.
Esempio: Generazione di un pulsante normale.
b) Pulsante Invia
Descrizione: Un pulsante di invio consente all'utente di inviare i dati del modulo al lato server dell'applicazione.
Esempio: Generazione di un pulsante di invio.
c) Pulsante di ripristino
Descrizione: Un pulsante di ripristino consente all'utente di impostare i campi del modulo sui valori originali.
Esempio: Generazione di un pulsante di ripristino.
Regole di convalida di Laravel
Il seguente elenco mostra alcune regole di convalida di Laravel:
Nota : Fare riferimento a documentazione ufficiale della convalida di Laravel per vedere l'elenco completo delle convalide. Alcune delle regole importanti sono elencate di seguito.
# 1) Prima o uguale a (data) - before_or_equal: data
Questa regola di convalida consente solo di utilizzare un valore precedente o uguale alla data specificata.
#Due) Fra - tra: min, max
Questa regola di convalida consente solo di utilizzare una dimensione compresa tra il valore minimo e massimo specificato.
# 3) Data - Data
Questa regola di convalida consente solo di utilizzare una data valida e non relativa in base a strtotime Funzione PHP.
# 4) Formato data - date_format: formato
In base a questa regola di convalida, il campo deve corrispondere al formato specificato.
# 5) Diverso - diverso: campo
domande e risposte dell'intervista di oracle dba per esperti
In questa regola di convalida, il campo deve avere un valore diverso dal campo.
# 6) Distinto - distinto
Quando si lavora con gli array, in base a questa regola di convalida, il campo non deve avere valori duplicati.
# 7) E-mail - e-mail
In base a questa regola di convalida, il campo deve essere formattato come indirizzo e-mail.
# 8) File immagine) - Immagine
In base a questa regola di convalida, il campo deve essere un'immagine (jpeg, png, bmp, gif, svg o webp).
# 9) Nullable - nullable
In questa regola di convalida, il campo deve essere nullo.
# 10) Numerico - numerico
In questa regola di convalida, il campo deve essere numerico.
#undici) Espressione regolare - regex: pattern
In base a questa regola di convalida, il campo deve corrispondere all'espressione regolare data.
# 12) necessario - necessario
In base a questa regola di convalida, il campo deve essere presente nei dati di input e non vuoto.
# 13) Taglia - dimensione: valore
Secondo questa regola di convalida, il campo deve avere una dimensione corrispondente al valore specificato.
# 14) A volte - a volte
Questa regola di convalida esegue controlli di convalida su un campo solo se tale campo è presente nell'array di input.
#quindici) URL - url
In questa regola di convalida, il campo deve essere un URL valido.
Esempio di moduli Laravel con convalida Laravel
In questo esempio, creeremo un modulo di registrazione studente con convalida Laravel di base.
Passo 1: Installa un nuovo progetto Laravel.
Passo 2: Collega il tuo progetto al database.
Passaggio 3: Creare xxxx_xx_xx_xxxxxx_create_students_table migrazione e Alunno modello.
Apri il xxxx_xx_xx_xxxxxx_create_students_table.php file e modificare il codice esistente come mostrato di seguito:
increments('id'); $table->string('title',10); $table->string('name'); $table->date('bday'); $table->integer('age'); $table->string('gender',10); $table->string('phone'); $table->string('address'); $table->string('email'); $table->string('password'); $table->boolean('t&c'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('students'); } }
Apri il file Student.php e modifica il codice esistente come mostrato di seguito:
Passaggio 4: Eseguire il seguente comando nel prompt dei comandi per eseguire le migrazioni.
php artisan migrate
Passaggio 5: Aggiungi i seguenti due percorsi al file route / web.php file.
Route::get('student/create','StudentController@create')->name('student.create'); Route::post('student/create','StudentController@store')->name('student.store');
Passaggio 6: Creare StudentController e modificare il codice esistente come mostrato di seguito:
all(); $request->validate(( 'title' => 'required', 'name' => 'required|max:255', 'bday' => 'required|date', 'age' => 'required|numeric', 'gender' => 'required', 'phone' => 'required|min:10', 'address' => 'required|max:255', 'email' => 'required|email|max:255', 'password' => 'required|min:6|max:255', 't&c' => 'required', )); $input('password') = bcrypt($input('password')); Student::create($input); return back()->with('success','Successfully registered a new student!'); } }
Passaggio 7: Crea il file di visualizzazione pertinente (create.blade.php) e aggiungi il codice seguente.
Laravel 7 Forms Tutorial @if (count($errors) > 0) @foreach ($errors->all() as $error) - {{ $error }}
@endforeach
@endif @if ($message = Session::get('success')) × {{ $message }} @endif Student Registration Form
@csrf Title -- Mr. Ms. Name Birth Date Age Gender Male Female Phone Address Email Password I agree to the terms and conditions.
Passaggio 8: Esegui il progetto sul browser. Produrrà un output simile allo screenshot qui sotto.

È tempo di giocare con questa forma. Se compili il modulo con valori non validi, otterrai errori di convalida. Se compili correttamente il modulo e lo invii, riceverai un messaggio di successo ei valori verranno salvati nel database.
Conclusione
I moduli Laravel aiutano gli sviluppatori a raccogliere dati dai clienti o dai visitatori del sito. Lo sviluppatore deve creare moduli con una corretta convalida. In caso contrario, i moduli potrebbero non essere utili così come sono. Abbiamo discusso importanti regole di convalida dei moduli Laravel in questo tutorial.
Ci auguriamo che questo tutorial ti sia stato utile! Spero di rivederti nel prossimo tutorial in cui parleremo di caricamento di file, invio di e-mail, sessioni, autenticazione e autorizzazione.
Buon apprendimento!
<< PREV Tutorial | PROSSIMO Tutorial >>
Lettura consigliata
- Tutorial PHP Laravel per principianti: cos'è Laravel Framework
- Database Laravel, migrazioni, ORM eloquente e Tinker
- Sessione Laravel, caricamento / download di file e autorizzazioni
- Collezione Laravel e tutorial Laravel Forge
- Automatizzazione della convalida delle risposte con asserzioni in Postman
- Validation Testing Ultimate Guide
- Differenza esatta tra verifica e convalida con esempi