Het voorgaande voorbeeld hebben we validatie gedaan op het aanwezig zijn van een meegestuurde waarde. Maar we hebben meer mogelijkheden voor validatie. Zoals een geldig emailadres, lengte maximaal 50, etc...
required
Controleren of veld aanwezig is.
$request->validate([ 'id' => 'required' ]);
integer
Controleren of het veld een geheel getal is
$request->validate([ 'id' => 'integer', ]);
length
Controleren of een string een bepaalde lengte heeft. Gebruik hiervoor: length:3,10 lengte van een string moet tussen de 3 en 10 karakters inzetten (inclusief)
$request->validate([ 'naam' => 'length:2,255', ]);
email
Controleren of veld een geldig email adres is
$request->validate([ 'email' => 'email', ]);
url
Controleren of het veld een geldige URL is
$request->validate([ 'link' => 'url', ]);
date
Controleren of een veld een geldige datum is
$request->validate([ 'geboortedatum' => 'date', ]);
min
Controleren of een getal minimale waarde heeft. Of de lengte van een string minimaal zoveel karakters heeft. Te gebruiken als min:4 (minimaal 4 karakters of cijfer minimaal 4)
$request->validate([ 'naam' => 'min:2', 'leeftijd' => 'min:16', ]);
max
Controleren of een getal maximale waarde heeft. Of de lengte van een string maximaal zoveel karakters heeft. Te gebruiken als max:4 (maximaal 4 karakters of cijfer maximaal 4)
$request->validate([ 'naam' => 'max:50', //naam mag niet langer zijn dan 50 tekens 'leeftijd' => 'max:18', //leeftijd mag niet hoger zijn dan 18 ]);
between
Controleren of cijfer tussen twee waarde zit. Of de string lengte tussen de .. karakters lang is. Te gebruiken als between:4,10
$request->validate([ 'naam' => 'between:2,50', //naam moet tussen 2 en 50 karakters zijn 'leeftijd' => 'between:2,18', //leeftijd moet tussen 2 en 18 karakters zijn ]);
in
Controleren of de waarde voorkomt in een rij gegevens. Te gebruiken als in:red,green,blue De waarde mag dan alleen red, green of blue zijn.
$request->validate([ 'color' => 'in:red,green,blue', //color moet red, green of blue zijn ]);
not_in
Controleren of de waarde niet voorkomt in een rij gegevens. Te gebruiken als not_in:red,green,blue De waarde mag dan niet red, green of blue zijn.
$request->validate([ 'color' => 'not_in:red,green,blue', //color mag niet red, green of blue zijn ]);
numeric
Controleren of het veld een getal is
$request->validate([ 'saldo' => 'numeric', // moet een nummer zijn ]);
image
Controleren of het meegestuurde bestand een afbeelding is
$request->validate([ 'foto'=>'image' ]);
Op een bepaald veld zijn meerdere validaties tegelijkertijd toe te passen.
$request->validate([ 'title' => 'required|min:3', 'content' => 'required' ]);
We gebruiken hiervoor de | als scheidingsteken.
Ook mag je alle regels in een array zetten
$request->validate([ 'title' => ['required', 'min:3'], 'content' => 'required' ]);
Als je een validatie regel mist. Kan je dat uiteraard zelf toevoegen aan het bestand /src/Request.php.
Pas de validatie regels van controller posts-update.php aan
Uitwerking