Maison >cadre php >PensezPHP >Comment Thinkphp5 utilise validate pour implémenter la fonction de vérification

Comment Thinkphp5 utilise validate pour implémenter la fonction de vérification

藏色散人
藏色散人avant
2020-12-14 11:59:333095parcourir

La colonne tutorielle suivante du framework thinkphp vous présentera comment Thinkphp5 utilise validate pour implémenter la fonction de vérification. J'espère que cela sera utile aux amis dans le besoin !

En tant qu'utilisateur front-end, j'ai une expérience personnelle en matière de vérification. Bien que je sois progressivement plus à l'aise avec cela, il n'existe toujours pas de fonction intégrée pouvant être utilisée. tp5 en fournit exactement un. Cet article présente et met en œuvre brièvement ce qui suit. L'essentiel est de le mettre en œuvre.

L'implémentation de la vérification est basée sur l'objet validate intégré de tp5.

Créez un fichier de validation dans le répertoire au même niveau du contrôleur d'index sous modularisation Index, contenant un fichier de vérification Vdate.php. Ce fichier peut également être placé sous le répertoire commun, à condition que l'espace de noms soit. correct. Le code est le suivant

<?php
    namespace app\index\validate;
    use think\Validate;
    class  Vdate extends Validate{
      //每个字段对应一个规则,这是第一层
        protected $rule=[
          ["name","require|max:10","不能为空|分类名不能超过10个字符"],
          ["parent_id","number","必须为数字"],
        /*  ["id","number","必须是数字"],
          ["status","number|in:1,0,-1","必须是数字|必须是是0,-1,1"],*/
        ];

     //应用的场景,这是第二层
        protected $scene=[
          "save"=>["name","parent_id"],

        ];
    }

Vous pouvez écrire plusieurs champs, tout comme je l'ai commenté.

Ensuite, le code de la page front-end :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>验证数据</title>
</head>
<body>
    <form action="{:url(&#39;index/validateF&#39;)}" method="GET">
        <input type="text" name="name">
        <input type="submit" value="提交">
    </form>
</body>
</html>

Le validateF

public function validateF()
   {
        $data=input("get.");
        print_r($data);
        $validate=validate("Vdate"); //使用验证
        //scene("save")->check($data)内置方法
        if(!$validate->scene("save")->check($data)){
           $this->error($validate->getError());//内置错误返回
        }

        //剩下操作
        $res=model("category")->add($data);
        if($res){
          $this->success(&#39;新增成功&#39;);
        }else{
          $this->error("新增失败!");
        }
   }

correspondant sous l'index du contrôleur back-end convient. Très simple à mettre en œuvre. Concernant les règles de chaque domaine, vous pouvez vous référer au manuel ou au site officiel pour de nombreux contenus.

Cet article est terminé.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer