Maison > cadre php > PensezPHP > Comment utiliser ThinkPHP6 pour implémenter la validation de formulaire

Comment utiliser ThinkPHP6 pour implémenter la validation de formulaire

WBOY
Libérer: 2023-06-20 12:01:48
original
1482 Les gens l'ont consulté

Avec le développement d'Internet, la validation des formulaires est devenue un élément important du développement Web. Sans un mécanisme efficace de validation du formulaire, les données saisies par l'utilisateur ne seront pas acceptées par le système en raison d'erreurs de format ou de logique, ce qui aura un impact important sur l'expérience utilisateur globale et la sécurité du système. ThinkPHP, l'un des frameworks couramment utilisés dans le développement PHP, fournit également un mécanisme de validation de formulaire très pratique et personnalisable. Cet article explique comment utiliser ThinkPHP6 pour implémenter la validation de formulaire.

1. Créez un nouveau contrôleur

Tout d'abord, créez un fichier de contrôleur dans ThinkPHP6. Par exemple, nous pouvons créer un fichier UserController.php. Dans ce contrôleur, nous implémenterons une fonction permettant de mettre à jour les informations générales de l'utilisateur et d'utiliser la validation du formulaire.

2. Écrivez le modèle de données

Ensuite, nous devons créer un nouveau fichier User.php dans le fichier Model pour stocker le modèle correspondant à la table de données de l'utilisateur. Dans ce fichier, nous pouvons définir les types de champs correspondants et les règles de validation des données, comme indiqué ci-dessous :

namespace appmodel;

use thinkModel;

class User extends Model
{
    // 定义模型对应数据表
    protected $table = 'user';

    // 定义数据表字段对应的验证规则
    protected $rule = [
        'username' => 'require|length:6,20|unique:user',
        'password' => 'require|alphaDash|confirm',
        'email'    => 'require|email|unique:user',
        'mobile'   => 'mobile|unique:user'
    ];

    // 定义验证错误信息
    protected $message = [
        'username.require' => '用户名不能为空',
        'username.length'  => '用户名长度为6-20个字符',
        'username.unique'  => '该用户名已存在',
        'password.require' => '密码不能为空',
        'password.alphaDash'  => '密码只能是字母、数字、下划线和破折号',
        'password.confirm' => '两次输入密码不一致',
        'email.require'    => '邮箱不能为空',
        'email.email'      => '邮箱格式不正确',
        'email.unique'     => '该邮箱已存在',
        'mobile.mobile'    => '手机号格式不正确',
        'mobile.unique'    => '该手机号已存在'
    ];
}
Copier après la connexion

Dans ce modèle, nous définissons d'abord le nom de la table, et définissons les règles de validation et les règles de validation correspondant aux champs de la table de données message d'erreur. Ces règles et informations seront utilisées par le responsable du traitement pour vérifier la validité des données.

3. Écrivez le contrôleur

Ensuite, recevez les données dans le contrôleur et appelez la fonction validate() pour vérifier les données. Après une vérification réussie, enregistrez les données dans la base de données.

namespace appcontroller;

use appmodelUser;
use thinkacadeRequest;

class UserController extends Base
{
    // 用户更新一般信息
    public function update()
    {
        // 接收数据并校验
        $data = Request::only(['username', 'password', 'email', 'mobile']);
        $validate =     hinkacadeValidate::rule([
            'username' => 'require|length:6,20|unique:user',
            'password' => 'require|alphaDash|confirm',
            'email'    => 'require|email|unique:user',
            'mobile'   => 'mobile|unique:user'
        ])->message([
            'username.require' => '用户名不能为空',
            'username.length'  => '用户名长度为6-20个字符',
            'username.unique'  => '该用户名已存在',
            'password.require' => '密码不能为空',
            'password.alphaDash'  => '密码只能是字母、数字、下划线和破折号',
            'password.confirm' => '两次输入密码不一致',
            'email.require'    => '邮箱不能为空',
            'email.email'      => '邮箱格式不正确',
            'email.unique'     => '该邮箱已存在',
            'mobile.mobile'    => '手机号格式不正确',
            'mobile.unique'    => '该手机号已存在'
        ]);
        if (!$validate->check($data)) {
            return json([
                'code' => -1,
                'msg'  => $validate->getError(),
                'data' => []
            ]);
        }

        // 保存数据至数据库
        $user = new User($data);
        $user->save();

        return json([
            'code' => 0,
            'msg'  => '保存成功',
            'data' => []
        ]);
    }
}
Copier après la connexion

Dans le contrôleur ci-dessus, nous utilisons la façade pour recevoir et vérifier les données. Comme nous n'utilisons pas ici le modèle User défini précédemment, les règles de validation des données et les messages d'erreur sont définis dans la fonction validate(). Si la vérification échoue, nous pouvons renvoyer le message d'erreur correspondant. Si la vérification réussit, nous enregistrons les données dans la base de données et renvoyons un message de réussite.

4. Résumé

Ce qui précède est le processus détaillé d'utilisation de ThinkPHP6 pour implémenter la vérification de formulaire. Dans le développement actuel, la validation de formulaire est une fonction très importante et courante. Une validation raisonnable de formulaire peut améliorer l'expérience utilisateur et la sécurité du système. ThinkPHP6 fournit un mécanisme de vérification de formulaire très pratique et personnalisable. Nous pouvons effectuer les ajustements correspondants en fonction des besoins réels de développement pour obtenir une vérification de formulaire plus efficace et plus flexible.

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!

Étiquettes associées:
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