Maison > cadre php > Laravel > le corps du texte

Méthode de vérification dans Laravel

WBOY
Libérer: 2023-05-20 22:16:36
original
1317 Les gens l'ont consulté

Laravel est un framework PHP populaire doté d'une facilité d'utilisation et de fonctionnalités puissantes. L'une des fonctions importantes est la validation. Laravel fournit plusieurs méthodes de validation pour vérifier facilement les données soumises par le formulaire et garantir l'exactitude et la sécurité des données de candidature. Cet article présentera les méthodes de vérification couramment utilisées dans Laravel.

  1. Validation du formulaire

La validation du formulaire est la méthode de validation la plus couramment utilisée dans Laravel. Elle est utilisée pour vérifier si les données soumises par le formulaire sont conformes aux règles spécifiées. Chaque règle de validation peut définir un message d'erreur à afficher en cas d'échec de la validation. Voici un exemple de validation de formulaire :

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

    // 数据通过验证,将数据存储到数据库中
}
Copier après la connexion

Dans l'exemple ci-dessus, la méthode $request->validate([]) est utilisée pour valider les données de la requête. Cette méthode accepte un tableau contenant des règles de validation. Le nom de clé du tableau représente le nom du champ à vérifier et la valeur de la clé représente la règle de validation du champ. $request->validate([])方法用于验证请求中的数据。该方法接受一个包含验证规则的数组,数组的键名表示要验证的字段名称,而键值表示该字段的验证规则。

每个验证规则都由一个管道符|分隔,其中包含了该规则的验证参数。例如,required|string|max:255表示字段为必填项、字符串类型,并且最大长度为255个字符。unique:users表示验证该字段在users表格中的唯一性。

如果验证失败,将会自动返回一个错误信息。如果验证成功,将会继续执行下面的代码逻辑。

  1. JSON验证

Laravel还提供了JSON数据验证方法。JSON验证通常用于API接口开发,用于验证发送到服务器的JSON数据是否符合指定规则。与表单验证相似,JSON验证也可以定义验证规则和错误信息。

以下是一个JSON验证的示例:

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

    if ($validator->fails()) {
        return response()->json([
            'status' => 'error',
            'message' => $validator->errors(),
        ], 422);
    }

    // 数据通过验证,将数据存储到数据库中
}
Copier après la connexion

在上面的示例中,使用Validator::make()方法创建一个验证实例。与表单验证不同,make()方法需要传递两个参数:验证的数据和验证规则。如果验证失败,则需要返回一个包含错误信息的JSON响应。如果验证成功,将会继续执行下面的代码逻辑。

  1. 自定义验证规则

除了Laravel内置的验证规则外,开发人员还可以自定义验证规则。自定义规则可以满足特殊的验证需求,例如验证时间、密码强度等。

以下是一个自定义验证规则的示例:

Validator::extend('strong_password', function ($attribute, $value, $parameters, $validator) {
    return preg_match('/^(?=.*[a-zA-Z])(?=.*d)(?=.*(_|[^w])).+$/', $value);
});

$validator = Validator::make($request->all(), [
    'password' => 'required|string|min:8|strong_password',
]);
Copier après la connexion

在上面的示例中,使用Validator::extend()方法创建自定义验证规则strong_password。该方法接受两个参数:规则名称和一个闭包函数,该函数接受四个参数:验证字段名称、验证字段值、验证参数、验证器对象。

在定义自定义规则后,需要在验证器实例中使用自定义规则。如上述代码所示,min:8|strong_password表示密码长度至少为8个字符,并且必须包含至少一个大小写字母、一个数字和一个特殊字符(下划线_除外)。

  1. 错误信息自定义

在开发应用程序时,通常需要自定义验证错误信息。在Laravel中,可以使用message()方法自定义错误信息。

以下是一个自定义验证错误信息的示例:

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

$validator->message('email.required', '邮箱不能为空');

if ($validator->fails()) {
    return response()->json([
        'status' => 'error',
        'message' => $validator->errors(),
    ], 422);
}
Copier après la connexion

在上面的示例中,使用message()

Chaque règle de validation est séparée par un caractère barre verticale |, qui contient les paramètres de validation de la règle. Par exemple, required|string|max:255 indique que le champ est obligatoire, est de type chaîne et a une longueur maximale de 255 caractères. unique:users signifie vérifier l'unicité de ce champ dans la table users.

Si la vérification échoue, un message d'erreur sera automatiquement renvoyé. Si la vérification réussit, la logique de code suivante continuera à être exécutée. 🎜
    🎜Validation JSON🎜🎜🎜Laravel fournit également des méthodes de validation des données JSON. La validation JSON est généralement utilisée dans le développement d'interfaces API pour vérifier si les données JSON envoyées au serveur sont conformes aux règles spécifiées. Semblable à la validation de formulaire, la validation JSON peut également définir des règles de validation et des messages d'erreur. 🎜🎜Ce qui suit est un exemple de validation JSON : 🎜rrreee🎜Dans l'exemple ci-dessus, utilisez la méthode Validator::make() pour créer une instance de validation. Contrairement à la validation de formulaire, la méthode make() nécessite de passer deux paramètres : les données de validation et les règles de validation. Si la validation échoue, une réponse JSON contenant des informations d'erreur doit être renvoyée. Si la vérification réussit, la logique de code suivante continuera à être exécutée. 🎜
      🎜Règles de validation personnalisées🎜🎜🎜En plus des règles de validation intégrées de Laravel, les développeurs peuvent également personnaliser les règles de validation. Les règles personnalisées peuvent répondre à des besoins de vérification particuliers, tels que la durée de vérification, la force du mot de passe, etc. 🎜🎜Voici un exemple de règle de validation personnalisée : 🎜rrreee🎜Dans l'exemple ci-dessus, la règle de validation personnalisée strong_password est créée à l'aide de la méthode Validator::extend() . Cette méthode accepte deux paramètres : le nom de la règle et une fonction de fermeture, qui accepte quatre paramètres : le nom du champ de validation, la valeur du champ de validation, les paramètres de validation et l'objet validateur. 🎜🎜Après avoir défini les règles personnalisées, vous devez utiliser les règles personnalisées dans l'instance du validateur. Comme indiqué dans le code ci-dessus, min:8|strong_password signifie que le mot de passe doit comporter au moins 8 caractères et doit contenir au moins une lettre majuscule et minuscule, un chiffre et un caractère spécial (sauf souligner_). 🎜
        🎜Personnalisation des messages d'erreur🎜🎜🎜Lors du développement d'applications, il est souvent nécessaire de personnaliser les messages d'erreur de validation. Dans Laravel, vous pouvez utiliser la méthode message() pour personnaliser les messages d'erreur. 🎜🎜Ce qui suit est un exemple de personnalisation du message d'erreur de validation : 🎜rrreee🎜Dans l'exemple ci-dessus, utilisez la méthode message() pour personnaliser le message d'erreur. Cette méthode accepte deux paramètres : le nom de la règle de validation et un message d'erreur personnalisé. 🎜🎜Les méthodes de vérification ci-dessus sont couramment utilisées dans Laravel. Lors de la rédaction des candidatures, l'utilisation correcte des méthodes de vérification peut garantir efficacement l'exactitude et la sécurité des données. 🎜

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