Lightweight-PHP-Validator: Neue Version

Neue Features:
– Unterstützung von Fehlermeldungen
– Mehrsprachigkeit (deutsch / englisch) über Annotations
– Manuelles Festlegen einer Validierungsklasse

Definition der Fehlermeldungen über Annotations:
In der Validierungsklasse „ValidatorRules“ können die Fehlermeldungen in beliebig vielen Sprachen mit Hilfe von Annotations hinterlegt werden.

/**
 * @ErrorMessage[lang=de] Bitte geben Sie eine Zahl an, die kleiner ist als %.2f.
 * @ErrorMessage[lang=en] Please enter a number less than %.2f.
 */

public function check_less_than($mValue, $aParams)
{
    return (number_format($mValue, 15) < $aParams[0]);
}

Sprache festlegen:
Die Sprache in der die Fehlermeldungen zurückgegeben werden sollen, lässt sich im Validator ganz einfach über die Funktion „setLanguage“ festlegen.

$oValidator = new Validator();
$oValidator->setLanguage('de'); //Deutsch

Validieren und Fehlermeldung auslesen:
Die jeweilige Fehlermeldung kann direkt nach der Validierung über die Funktion „getLastErrorMessage“ ermittelt werden.

$oValidator->setLanguage('de');
$oValidator->isValid("15", 'less_than[10.90]'); //false
echo $oValidator->getLastErrorMessage();
//Bitte geben Sie eine Zahl an, die kleiner ist als 10.90.

//Nochmal auf Englisch
$oValidator->setLanguage('en');
$oValidator->isValid("15", 'less_than[10.90]'); //false
echo $oValidator->getLastErrorMessage();
//Please enter a number less than 10.90.


Ändern der Validierungsklasse:
Über die Funktion „setValidationClass“ kann die Validierungsklasse bei Bedarf geändert werden.

$oValidator = new Validator();
$oValidator->setValidationClass('MySpecialValidation');

Beispiel – komplett (deutsch):

$aErrorMessages = array();

$oValidator = new Validator();

//optional - Festlegen der Sprache
$oValidator->setLanguage('de');

//optional - Festlegen der Validierungsklasse
$oValidator->setValidationClass('ValidatorRules');

$oValidator->isValid("http//sklueh.de", 'url'); //false
$aErrorMessages[] = $oValidator->getLastErrorMessage();
$oValidator->isValid("http://sklueh.de", 'url|min_length[17]|max_length[20]|required'); //false
$aErrorMessages[] = $oValidator->getLastErrorMessage();
$oValidator->isValid("15", 'greater_than[39.90]'); //false
$aErrorMessages[] = $oValidator->getLastErrorMessage();
print_r($aErrorMessages);

/*
Array
(
    [0] => Bitte geben Sie eine gültige URL ein.
    [1] => Die Eingabe muss mindestens 17 Zeichen lang sein.
    [2] => Bitte geben Sie eine Zahl an, die größer ist als 39.90.
)

*/

Für Anmerkungen und Verbesserungsvorschläge einfach einen Kommentar unter diesem Artikel hinterlassen – Danke.

Download: lightweight-validation
GitHub: lightweight-validation

Schreibe einen Kommentar