Laravel validatie

Validatie in Laravel is een proces om te controleren of ingevoerde gegevens aan bepaalde criteria voldoen. Dit is belangrijk om ervoor te zorgen dat de gegevens correct zijn en dat de applicatie veilig en betrouwbaar is.

Laravel biedt een aantal verschillende manieren om validatie uit te voeren. De meest gebruikelijke manier is om de validate()-methode te gebruiken die beschikbaar is op alle inkomende HTTP-verzoeken. Deze methode neemt een array van validatieregels als argument en controleert of de ingevoerde gegevens aan deze regels voldoen.

Een voorbeeld van validatie in Laravel is als volgt:

PHP

public function store(Request $request)
{
    $data = $request->validate([
        'name' => 'required|string|min:3|max:255',
        'email' => 'required|email|unique:users',
    ]);

    // ...
}
In dit voorbeeld wordt de validate()-methode gebruikt om de volgende validatieregels toe te passen op de ingevoerde gegevens:

Het veld name is verplicht, een string en minimaal 3 en maximaal 255 tekens lang. Het veld email is verplicht, een e-mailadres en uniek in de tabel users.

Als de ingevoerde gegevens niet aan deze regels voldoen, wordt een ValidationException-uitzondering gegooid. Deze uitzondering wordt automatisch opgevangen en er wordt een redirect gegenereerd naar de gebruiker zijn vorige locatie. De validatiefouten worden ook automatisch in de sessie opgeslagen, zodat de gebruiker deze kan zien.

Laravel biedt ook een aantal andere manieren om validatie uit te voeren. Zo kunt u een Validator-object handmatig maken of een custom validatieregel maken.

Klasses voor validatie in Laravel
De volgende classes worden gebruikt voor validatie in Laravel:

Illuminate\Validation\Validator: Deze klasse wordt gebruikt om validatieregels toe te passen op gegevens.

Illuminate\Validation\Rule: Deze klasse wordt gebruikt om een custom validatieregel te maken.

Validatieregels in Laravel
Laravel biedt een breed scala aan standaard validatieregels. De meest gebruikte regels zijn:

required: Het veld is verplicht.

string: Het veld is een string.

min: Het veld heeft een minimumlengte.

max: Het veld heeft een maximumlengte.

email: Het veld is een geldig e-mailadres.

unique: De waarde van het veld is uniek in de database.

Validatiefouten in Laravel
Als validatie mislukt, worden er foutmeldingen gegenereerd. Deze foutmeldingen kunnen worden weergegeven aan de gebruiker of in de logboeken worden opgeslagen.

De foutmeldingen worden geformatteerd als een array. Elk item in het array bevat de volgende informatie:

field: De naam van het veld dat de fout bevat.

rule: De validatieregel die de fout heeft veroorzaakt.

message: De foutmelding die aan de gebruiker wordt weergegeven.

Voorbeeld van validatiefouten
In het volgende voorbeeld worden de foutmeldingen weergegeven aan de gebruiker:

PHP

public function store(Request $request)
{
    $data = $request->validate([
        'name' => 'required|string|min:3|max:255',
        'email' => 'required|email|unique:users',
    ]);

    if ($data->fails()) {
        return redirect('/register')->withErrors($data);
    }

    // ...
}
Als de gebruiker een leeg veld name of een veld email invoert dat niet uniek is in de database, worden de volgende foutmeldingen weergegeven:

{
    "name": [
        "This field is required."
    ],
    "email": [
        "The email has already been taken."
    ]
}
Conclusie
Validatie is een belangrijk onderdeel van elke applicatie. Laravel biedt een aantal verschillende manieren om validatie uit te voeren, zodat u uw applicatie kunt beschermen tegen onjuiste gegevens.
 

Terug naar categorie
Een ogenblik geduld...