Maison  >  Article  >  cadre php  >  Comment effectuer la validation de formulaire dans ThinkPHP6 ?

Comment effectuer la validation de formulaire dans ThinkPHP6 ?

WBOY
WBOYoriginal
2023-06-12 09:36:261575parcourir

ThinkPHP6 est un framework MVC basé sur PHP qui simplifie grandement le développement d'applications Web. Parmi eux, la validation de formulaire est une fonction très basique et importante. Dans cet article, nous présenterons comment effectuer des opérations de validation de formulaire dans ThinkPHP6.

1. Définition des règles de validation
Dans ThinkPHP6, les règles de validation doivent être définies dans le contrôleur. Nous pouvons définir les règles en définissant un attribut $validate dans le contrôleur, comme indiqué ci-dessous :

use thinkValidate;
class UserController extends Controller {
    protected $validate;
    public function __construct(Validate $validate) {
        $this->validate = $validate;
    }

    // 定义验证规则
    protected $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
}

2. définir les règles de validation, nous pouvons utiliser la méthode check() de $validate dans le contrôleur pour exécuter les règles de validation que nous avons définies. L'opération de vérification peut être implémentée en appelant la méthode validate() sur l'objet $request dans le contrôleur et en transmettant les règles de vérification.

public function add(Request $request) {
    $data = $request->param();
    $result = $this->validate($data, $this->rule);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行添加操作
}

Dans le code ci-dessus, la méthode $request->param() renvoie un tableau qui contient toutes les valeurs de paramètres du formulaire. Nous le transmettons à la méthode validate() pour vérification. Si la vérification échoue, un message d'erreur sera renvoyé. Si la vérification réussit, l'opération d'ajout sera effectuée directement.

3. Messages d'erreur personnalisés

Dans le développement réel, nous devrons peut-être définir des messages d'erreur personnalisés pour certaines règles. Cela peut être réalisé en utilisant la méthode message() dans les règles de vérification.

protected $rule = [
    'name' => 'require|max:25',
    'email' => 'email',
    'age' => 'number|between:1,120',
];

protected $message = [
    'name.require' => '用户名必填',
    'name.max' => '用户名最多不能超过25个字符',
    'email.email' => '邮箱格式错误',
    'age.number' => '年龄必须是数字',
    'age.between' => '年龄必须在1~120之间',
];

En utilisant la méthode message() de $validate dans le contrôleur, nous pouvons personnaliser le message d'erreur de la règle. Par exemple :

$result = $this->validate($data, $this->rule, $this->message);

4. Vérification par lots

Lorsque nous devons vérifier plusieurs formulaires, nous pouvons utiliser la méthode batch() de $validate pour effectuer une vérification par lots. Par exemple :

public function verify(Request $request) {
    $data = $request->param();
    $rule = [
        'name' => 'require|max:25',
        'email' => 'email',
        'age' => 'number|between:1,120',
    ];
    $message = [
        'name.require' => '用户名必填',
        'name.max' => '用户名最多不能超过25个字符',
        'email.email' => '邮箱格式错误',
        'age.number' => '年龄必须是数字',
        'age.between' => '年龄必须在1~120之间',
    ];
    $result = $this->validate($data, $rule, $message, true);
    if ($result !== true) {
        return ['code' => 1, 'msg' => $result];
    }
    // 验证通过,执行相关操作
}

Dans le code ci-dessus, le quatrième paramètre de la méthode $validate est vrai, ce qui signifie que la vérification par lots est activée. Après avoir activé la vérification par lots, vous pouvez définir plusieurs règles de vérification de formulaire pour renvoyer tous les messages d'erreur en cas d'échec de la vérification.

Résumé :

Dans ThinkPHP6, les règles de validation sont définies en définissant l'attribut $validate dans le contrôleur, la validation du formulaire est effectuée en appelant la méthode validate() sur l'objet $request et des messages d'erreur personnalisés peuvent être créés via le message( ) paramètres de la méthode. Dans le même temps, la vérification par lots peut être réalisée via la méthode batch(). Ces opérations sont très basiques et couramment utilisées, et nous devons les maîtriser avec compétence dans le cadre du développement réel.

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