Validatie met Validator object

Bij de validatie zullen we vaak het zelfde willen controleren. Bijvoorbeeld of een verplicht veld gevuld is, of het werkelijk een email adres is, etc. Daarnaast willen we graag de omliggende spaties verwijderen. Natuurlijk kan je dan elke keer de volgende regels schrijven.

// spaties voor en na de invoer weghalen
$_POST['title'] = trim($_POST['title']);

// controleren of de titel is ingevuld
if (strlen($_POST['title']) == 0) {
  $errors['title'] = "Titel mag niet leeg zijn";
}

Een andere oplossing is om het Validator object te gebruiken. Dat werkt als volgt.

Eenmaal moet je het object inladen. Dit kan bovenaan in de controller waar je het validatie object wilt gebruiken.

Validator.php kan je hier downloaden. Maak dit bestand aan en zet het in de directory src

require "../src/Validator.php";

Indien je dezelfde validatie wilt doen zoals in het voorbeeld hierboven kan je nu doen

if (!Validator::required($_POST['title'])) {
  $errors['title'] = "Titel mag niet leeg zijn";
}

In de Validator wordt de static method required aangeroepen. Hier wordt de variabele ingestopt die gevalideerd moet gaan worden. Het Validator object haalt de omliggende spaties weg en geeft true indien alles goed gaat. Wij willen alleen als het misgaat de $errors vullen vandaar de ! voor Validator

Het Validator object heeft onderstaande validatie mogelijkheden

Voorbeelden genoeg, je kan zelf er vanalles aan toevoegen

Let op! Het gebruiken van het Validator object is er om het leven makkelijker te maken. Als je de validatie liever steeds zelf schrijft is dat uiteraard ook goed.