Maison >cadre php >Laravel >Développement Laravel : Comment valider les requêtes de formulaire à l'aide de Laravel Validation ?

Développement Laravel : Comment valider les requêtes de formulaire à l'aide de Laravel Validation ?

王林
王林original
2023-06-13 13:34:521113parcourir

Laravel est un framework de développement Web PHP populaire qui fournit de nombreuses fonctionnalités pratiques pour accélérer le travail des développeurs. Parmi eux, Laravel Validation est une fonction très pratique qui peut nous aider à vérifier facilement les demandes de formulaire et les données saisies par l'utilisateur. Cet article explique comment utiliser Laravel Validation pour valider les demandes de formulaire.

Qu'est-ce que Laravel Validation

Laravel Validation est une méthode de validation de formulaire intégrée au framework Laravel. Il fournit un moyen concis, standardisé et facile à utiliser pour valider les demandes de formulaire et les données saisies par l'utilisateur. Vous pouvez utiliser diverses règles pour vérifier différents types de données, réduisant ainsi la redondance du code et simplifiant le processus de développement du code.

Comment utiliser Laravel Validation

Tout d'abord, nous devons utiliser la classe Validation de Laravel dans le contrôleur :

use IlluminateSupportFacadesValidator;

Quand nous devons valider une requête , nous pouvons utiliser la méthode Validator::make() :

public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name' => 'required|min:3|max:255',
        'email' => 'required|email|unique:users,email',
        'password' => 'required|min:8|confirmed',
    ]);

    if ($validator->fails()) {
        return redirect('register')
                    ->withErrors($validator)
                    ->withInput();
    }

    // 在此处写入数据到数据库的逻辑
}

Dans le code ci-dessus, nous utilisons la méthode Validator::make() pour définir des règles de validation. Le premier paramètre transmis à la méthode make correspond aux données de la demande qui doivent être vérifiées. Le deuxième paramètre est un tableau définissant les règles de validation. Les clés du tableau sont les noms de champs qui doivent être validés, et les valeurs sont des règles de validation sous forme de chaînes.

Dans le code ci-dessus, nous définissons trois champs :

  • nom : obligatoire, le nombre minimum de caractères est de 3, le nombre maximum de caractères est de 255# 🎜🎜 #
  • email : obligatoire, format de l'e-mail, vérification de l'unicité
  • password : obligatoire, le nombre minimum de caractères est de 8, correspond au champ password_confirmation
  • #🎜🎜 #if Si une règle ne parvient pas à être vérifiée, nous renverrons les informations d'erreur à la page d'inscription et utiliserons la méthode withInput() pour renvoyer les données précédemment soumises par l'utilisateur.

Règles de validation couramment utilisées

Lors de l'utilisation de Laravel Validation, il existe de nombreuses règles à utiliser. Quelques règles courantes sont listées ci-dessous :

obligatoire : Ce champ doit être renseigné
  • email : Ce champ doit être conforme à la spécification de l'adresse email
  • # 🎜🎜#unique:table_name,field_name : La valeur de ce champ doit être unique dans la table de données spécifiée
  • min:num : La longueur minimale de ce champ doit être de nombres caractères
  • # 🎜🎜 #max:num : La longueur maximale de ce champ doit être de nombres caractères
  • numeric : Ce champ doit être un nombre
  • integer : Ce champ doit être un nombre entier # 🎜🎜## 🎜🎜#alpha : Ce champ doit être composé de caractères alphanumériques (a-z, A-Z)
  • alpha_num : Ce champ doit être composé de caractères alphanumériques
  • confirmed : Ce champ doit être cohérent avec le nom La valeur du champ field_name_confirmation correspond à
  • Ces règles ne sont qu'une partie des règles de validation, vous pouvez également utiliser plus de règles pour valider les données. Vous pouvez trouver une liste plus détaillée des règles de validation dans la documentation de Laravel.
  • Règles de validation personnalisées
  • Parfois, nous avons besoin de règles personnalisées pour valider les données. Dans Laravel, nous pouvons utiliser la méthode Validator::extend() pour implémenter des règles de validation personnalisées. Voici un exemple de règle personnalisée :
Validator::extend('phone_number', function ($attribute, $value, $parameters, $validator) {
    return preg_match('/^1[3-9][0-9]{9}$/', $value);
});

Dans cet exemple, nous définissons une règle personnalisée "phone_number", qui vérifiera si $formData['phone_number'] correspond à votre propre spécification de définition. Si la vérification réussit, renvoyez vrai, sinon renvoyez faux.

Message d'erreur personnalisé

Nous pouvons également personnaliser le message d'erreur pour le rendre plus convivial. Voici un exemple de message d'erreur personnalisé :

$validator = Validator::make($request->all(), [
    'email' => 'required|email|unique:users,email',
    'password' => 'required|min:8|confirmed',
]);

// 自定义错误信息
$validator->setAttributeNames([
    'email' => '邮箱',
    'password' => '密码',
]);

// 自定义错误信息模板
$validator->setCustomMessages([
    'required' => ':attribute字段不能为空',
    'email' => '请输入正确的邮箱地址',
    'unique' => ':attribute已经被占用了',
    'min' => ':attribute长度不能小于:min个字符',
    'confirmed' => '密码和确认密码不匹配',
]);

Dans le code ci-dessus, nous utilisons la méthode setAttributeNames() pour modifier les noms de champs afin de rendre le message d'erreur plus humain. Nous avons également utilisé la méthode setCustomMessages() pour définir des modèles de message d'erreur afin de faciliter et d'accélérer la modification du message d'erreur et de le rendre plus convivial.

Summary

Grâce à l'introduction ci-dessus, nous avons appris à utiliser Laravel Validation pour vérifier les demandes de formulaire. Cela peut éviter les erreurs causées par une saisie incorrecte de l'utilisateur, gérer les messages d'erreur plus facilement et gagner du temps de développement. Laravel Validation peut mieux garantir la robustesse et la sécurité des applications.

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!

Déclaration:
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