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->setLanguage('de'); //Deutsch
Validieren und Fehlermeldung auslesen:
Die jeweilige Fehlermeldung kann direkt nach der Validierung über die Funktion „getLastErrorMessage“ ermittelt werden.
$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->setValidationClass('MySpecialValidation');
Beispiel – komplett (deutsch):
$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