PHPValidator ist eine moderne PHP -Bibliothek zur Datenvalidierung in Ihren PHP -Anwendungen. Es bietet eine flexible und erweiterbare Möglichkeit, Daten mithilfe vordefinierter Regeln oder durch Erstellen benutzerdefinierter Validierungsregeln zu validieren.
Verwenden Sie den Komponisten, um PHPValidator zu installieren:
composer require blakvghost/php-validator use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
try {
$ data = [
' username ' => ' BlakvGhost ' ,
' email ' => ' [email protected] ' ,
' score ' => 42 ,
];
// or
// $data = $_POST;
$ validator = new Validator ( $ data , [
' username ' => ' required|string ' ,
' email ' => ' required|email ' ,
' score ' => [ ' required ' , ' max:200 ' , new CustomRule ()],
' password ' => new CustomRule (),
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
} Sie können auch die Validierungsfehlermeldungen anpassen oder specify the default language
$ data = [
' username ' => ' BlakvGhost ' ,
];
$ validator = new Validator (
$ data ,
[
' username ' => ' required|string ' ,
],
[
' username ' => [
' required ' => ' Votre nom d ' utilisateur doit être présent ' ,
' string ' => ' Votre nom d ' utilisateur doit forcément être une chaîne de caractère ' ,
],
]
);
// For the default language
$ validator = new Validator ( $ data , $ rules , lang: ' fr ' ); Predefined Rules : Phpvalidator verfügt über eine Reihe von vordefinierten Validierungsregeln wie Erforderlich, Zeichenfolge, E -Mail, MaxLength usw.
Custom Rules : Erstellen Sie einfach benutzerdefinierte Validierungsregeln, indem Sie die Rule implementieren.
Multilingual Support : Passen Sie Validierungsfehlermeldungen basierend auf der Sprache der Anwendung mit dem LangManager an.
PHPValidator bietet eine Vielzahl von vordefinierten Regeln, die Sie zur Datenvalidierung verwenden können. Hier finden Sie eine Liste einiger häufig verwendeter Regeln sowie Beispiele für ihre Verwendung:
Erforderliche Regel
' username ' => ' required 'String -Regel
' username ' => ' string 'E -Mail -Regel
' email ' => ' email 'Maximale Längenregel
' username ' => ' max:25 'Bestätigte Regel
' password_confirmation ' => ' confirmed:password 'Dateiregel
' file ' => ' file 'Akzeptierte Regel
"yes" , "on" , "1" oder true ist. Nützlich für Kontrollkästchen. ' terms_and_conditions ' => ' accepted 'Akzeptiert, wenn Regel
' terms_and_conditions ' => ' accepted_if:is_adult,true 'ActiveUrl -Regel
' website ' => ' active_url 'Alpha -Regel
' name ' => ' alpha 'Numerische Regel
' age ' => ' numeric 'Kleinbuchstabenregel
' username ' => ' lowercase 'Großbuchstaben
' username ' => ' uppercase 'In Regel
' role ' => ' in:admin,editor,viewer 'Nullable -Regel
null oder leer. ' optional_field ' => ' nullable 'Passwortregel
secure password ist. ' password ' => ' password 'Gleiche Regel
' password_confirmation ' => ' same:password 'Maximale Längenregel
' username ' => ' min:8 'Nicht in der Regel
' value ' => ' not_in:foo,bar 'Mit Regel erforderlich
' firstname ' => ' required_with:lastname ' ,Gültige IP -Regel
' client_ip ' => ' ip ' ,JSON -Regel
' config ' => ' json ' ,URL -Regel
' website ' => ' url ' ,Alpha Numeric Rule
' pseudo ' => ' alpha_num ' ,Boolesche Regel
' is_admin ' => ' bool ' ,Größenregel
[
' string ' => ' size:7 ' , // strlen(string) == 7
' integer ' => ' size:7 ' , // integer == 7
' array ' => ' size:7 ' , // count(array) == 7
' file ' => ' size:512 ' , // file size (kb) == 512
]Nicht mit der Regel benötigt
' email ' => ' not_required_with:phone_number ' , Zusätzlich zu den vordefinierten Regeln können Sie benutzerdefinierte Validierungsregeln erstellen, indem Sie die Rule implementieren. Hier ist ein Beispiel dafür, wie eine benutzerdefinierte Regel erstellt und verwendet wird:
// CustomPasswordRule.php
namespace YourNameSpace Rules ;
use BlakvGhost PHPValidator Contracts Rule ;
class CustomPasswordRule implements Rule
{
protected $ field ;
public function __construct ( protected array $ parameters = [])
{
}
public function passes ( string $ field , $ value , array $ data ): bool
{
$ this -> field = $ field ;
// Implement your custom validation logic here
// Example: Check if the password is equal to confirm_password
return $ value === $ data [ ' confirm_password ' ];
}
public function message (): string
{
return " Vos deux mot de passes ne sont pas identiques " ;
}
}Verwenden Sie Ihre benutzerdefinierte Klasse direkt
use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
use YourNameSpace CustomPasswordRule ;
// ...
try {
$ data = [
' password ' => ' 42 ' ,
' confirm_password ' => ' 142 ' ,
];
// or
// $data = $_POST;
$ validator = new Validator ( $ data , [
' password ' => [ ' required ' , new CustomPasswordRule ()],
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
}Fügen Sie Ihre benutzerdefinierte Klasse der Regelnliste hinzu und verwenden Sie sie so, als wäre sie nativ
use BlakvGhost PHPValidator Validator ;
use BlakvGhost PHPValidator ValidatorException ;
use BlakvGhost PHPValidator Mapping RulesMaped ;
use YourNameSpace CustomPasswordRule ;
// Add your rule here using an alias and the full namespace of your custom class
RulesMaped:: addRule ( ' c_password ' , CustomPasswordRule::class);
try {
$ data = [
' password ' => ' 42 ' ,
' confirm_password ' => ' 142 ' ,
];
$ validator = new Validator ( $ data , [
' password ' => ' required|c_password ' ,
]);
if ( $ validator -> isValid ()) {
echo " Validation passed! " ;
} else {
$ errors = $ validator -> getErrors ();
print_r ( $ errors );
}
} catch ( ValidatorException $ e ) {
echo " Validation error: " . $ e -> getMessage ();
}In diesem Beispiel haben wir ein benutzerdefiniertes PassWordRule erstellt, das überprüft, ob das Kennwort gleich ist. Sie können die Methode für die PASSE anpassen, um Ihre spezifische Validierungslogik zu implementieren.
Wenn Sie zum Phpvalidator beitragen möchten, befolgen Sie bitte unsere Beitragsrichtlinien.
Um Unterstützung zu erhalten, können Sie mich per E-Mail an [email protected] anwenden. Wenden Sie sich bitte an mich, wenn Sie Fragen haben oder Hilfe beim Phpvalidator benötigen.
PHPValidator ist Open-Source-Software, die unter der MIT-Lizenz lizenziert wurde.