drips/validator

Validators zur Überprüfung von Eingaben

dev-master 2016-05-08 17:50 UTC

This package is not auto-updated.

Last update: 2024-11-21 01:29:52 UTC


README

Build Status Code Climate Test Coverage Latest Release

Beschreibung

Die Validators ermöglichen eine einheitliche Eingabeüberprüfung. Außerdem gibt es die Möglichkeit zum Filtern von Eingaben.

Validierung mittels Validator

Ein Validator ist ein Objekt, welches das IValidator-Interface implementiert und somit eine Methode validate($input) zur Verfügung stellt. Dementsprechend kann ein Validator-Objekt angelegt und anschließend ein String, mithilfe der Methode validate, validiert werden. Außerdem können Validators zusammengefasst werden, wie das folgende Beispiel zeigen soll.

<?php
use Drips\Validator\Validator;
use Drips\Validator\validators\Email;

$validator = new Validator;
$validator->add(new Email);

if(array_product($validator->validate("test@prowect.com"))){
    // Gültige Email-Adresse
} else {
    // Ungültige Email-Adresse
}

Grundsätzlich liefert ein einzelnes Validator-Objekt (z.B.: Email) legilich true oder false zurück. Erzeugt man jedoch einen Validator aus mehreren Validators (Validator) so wird ein Array zurückgeliefert, welches als Key den jeweiligen Validator und als Value den Rückgabewert dessen, beinhaltet.

In diesem Fall würde also array("\Drips\Validator\Validators\Email" => true) zurückkommen.

Mithilfe der Funktion array_product werden die einzelnen Werte des Arrays multipliziert. Schlug die Validierung bei einem Validator fehl und liefert somit false (0) zurück, so werden die Werte gemeinsam multipliziert und als Ergebnis würde 0 (false) zurückgeliefert werden.

Sind alle Werte in dem Array true (1) wird als Ergebnis 1 (true) zurückgegeben.

Arten von Validators

Folgende Validators sind zurzeit implementiert:

Es ist zu beachten, dass jeder Validator über eine zugehörige validate($input)-Methode verfügt, mit der eine zu überprüfende Eingabe übergeben werden kann.

Die einzelnen Validators liefern jeweils true oder false als Ergebnis und befinden sich im Namespace \Drips\Validator\validators.

Filtern

Neben den Validators gibt es auch Filter. Diese liefern als Ergebnis nicht true oder false sondern den gefilterten Text zurück.

Ein Filter ist ein Objekt, welches das IFilter-Interface implementiert und somit eine Methode filter($input) zur Verfügung stellt. Dementsprechend kann ein Filter-Objekt angelegt und anschließend ein String, mithilfe der Methode filter, gefiltert werden. Außerdem können Filter zusammengefasst werden, wie das folgende Beispiel zeigen soll.

<?php
use Drips\Validator\Filter;
use Drips\Validator\filters\StripTags;

$filter = new Filter;
$filter->add(new StripTags);

$input = "<h1>HTML</h1>";
$output = $filter->filter($input);
// $output == "HTML"

Mithilfe des StripTags-Filters werden die HTML-Tags des ursprünglichen Strings $input entfernt.

Arten von Filtern

Es ist zu beachten, dass jeder Filter über eine zugehörige filter($input)-Methode verfügt, mit der eine zu filternde Eingabe übergeben werden kann.

Die einzelnen Filter liefern jeweils den gefilterten Text als Ergebnis und befinden sich im Namespace \Drips\Validator\filters.