Maison > cadre php > Laravel > le corps du texte

règles de validation des requêtes Laravel

PHPz
Libérer: 2023-05-26 15:08:37
original
1559 Les gens l'ont consulté

Avec le développement continu des applications Internet, de plus en plus d'entreprises et de développeurs choisissent désormais d'utiliser le framework Laravel pour le développement. Lors du développement d'une application, la validation de la saisie des données est un élément très important pour protéger l'application contre les attaques malveillantes et les problèmes causés par une saisie accidentelle. Dans le framework Laravel, les règles de validation des requêtes sont un moyen d'implémenter la validation des entrées de données.

Laravel fournit une syntaxe de règle de validation simple et très puissante pour valider facilement les données d'entrée. Dans cet article, nous verrons comment valider les données d'entrée à l'aide des règles de validation des requêtes de Laravel.

  1. Règles de validation de base

Le framework Laravel fournit des règles de validation de base qui peuvent être utilisées à diverses fins pendant le processus de validation. Voici quelques règles de validation de base couramment utilisées :

  • obligatoire : Champ obligatoire.
  • email : doit être une adresse e-mail valide.
  • numérique : doit être un nombre.
  • max : valeur maximale.
  • min : valeur minimale.
  • taille : Doit correspondre à la taille spécifiée.
  • in : doit être l'une des valeurs spécifiées.

Utiliser les règles de validation dans les contrôleurs est très simple. Supposons que nous ayons une méthode nommée validateInput, qui doit valider un champ de saisie nommé « nom d'utilisateur ». Le code peut être comme ceci :

$this->validate($request, [
    'username' => 'required|min:3|max:20'
]);
Copier après la connexion

Le code ci-dessus vérifiera si le champ « nom d'utilisateur » est inclus et si la longueur est comprise entre 3 et 20 fois, si ces règles ne sont pas respectées, une ValidationException sera levée.

  1. Règles de validation personnalisées

En plus des règles de validation de base, le framework Laravel vous permet également de créer vos propres règles de validation. Ces règles de validation personnalisées peuvent être définies en fonction de vos besoins spécifiques. Supposons que nous devions valider un champ de saisie nommé "mot de passe". Le champ doit contenir des lettres majuscules et minuscules, des chiffres et des symboles spéciaux, et comporter entre 8 et 20 caractères. Le code peut ressembler à ceci :

Étape 1 : Définir la validation. règles

Validator::extend('my_password', function ($attribute, $value, $parameters, $validator) {
    return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*(_|[^w])).+$/', $value) &&
        strlen($value) >= 8 && strlen($value) <= 20;
});
Copier après la connexion

Dans le code ci-dessus, nous définissons une règle de validation appelée "my_password", utilisant des expressions régulières et la longueur de la chaîne pour valider les mots de passe. Cette règle de validation retournera vrai si le mot de passe saisi répond aux exigences.

Étape 2 : Utiliser des règles de validation personnalisées

L'utilisation de règles de validation personnalisées équivaut à l'utilisation de règles de validation de base. Nous devons simplement ajouter des règles de validation personnalisées dans le tableau des règles de validation. Supposons que nous devions ajouter la règle de vérification pour « mot de passe » dans l'exemple précédent. Le code peut ressembler à ceci :

$this->validate($request, [
    'username' => 'required|min:3|max:20',
    'password' => 'required|my_password'
]);
Copier après la connexion

Dans le code ci-dessus, nous ajoutons « mon_mot de passe » à la règle de vérification. Si la saisie du mot de passe correspond aux règles personnalisées, la vérification réussit.

  1. Personnalisation des messages d'erreur

Dans le framework Laravel, vous pouvez facilement personnaliser le format des messages d'erreur de validation. Voici un exemple :

Supposons que nous devions personnaliser le message d'erreur de saisie du mot de passe, nous pouvons le faire :

Étape 1 : Définir le message d'erreur

$messages = [
    'my_password' => 'The password must contain upper and lowercase letters, numbers, and special symbols. Its length must be between 8 and 20 characters.'
];
Copier après la connexion

Dans le code ci-dessus, nous avons défini un message d'erreur nommé "mon_mot de passe" .

Deuxième étape : utiliser des messages personnalisés

L'utilisation de messages d'erreur est similaire à l'utilisation de règles de validation personnalisées. Transmettez simplement les règles de validation qui nécessitent des messages personnalisés au deuxième paramètre de la méthode validate. Supposons que nous devions personnaliser le message d'erreur pour le champ "mot de passe", le code peut ressembler à ceci :

$this->validate($request, [
    'password' => 'required|my_password'
], $messages);
Copier après la connexion

Dans le code ci-dessus, nous avons transmis le message d'erreur comme troisième paramètre à la méthode de validation. Si la saisie du mot de passe ne correspond pas aux règles personnalisées, Laravel affichera un message d'erreur que nous définissons.

Résumé

Dans cet article, nous avons discuté des règles de validation des requêtes Laravel, notamment comment utiliser les règles de validation de base et les règles de validation personnalisées, et comment personnaliser les messages d'erreur. La syntaxe des règles de validation de Laravel est très simple mais puissante. Grâce aux règles de validation des demandes de Laravel, vous pouvez facilement valider les données d'entrée et assurer la sécurité de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal