ホームページ  >  記事  >  PHPフレームワーク  >  Thinkphp5 が validate を使用して検証機能を実装する方法

Thinkphp5 が validate を使用して検証機能を実装する方法

藏色散人
藏色散人転載
2020-12-14 11:59:333035ブラウズ

thinkphp フレームワーク の次のチュートリアル コラムでは、Thinkphp5 が validate を使用して検証機能を実装する方法を紹介します。

私はフロントエンド担当者として検証の経験があり、少しずつ慣れてきましたが、まだ使いやすい組み込み機能はありません。 tp5 は 1 つだけ提供します。この記事では、次のことを簡単に紹介および実装します。主なことはそれを実行することです。

検証の実装は、tp5 の組み込みオブジェクト検証に基づいています。

インデックス モジュール化の下のインデックス コントローラーと同じレベルのディレクトリに、Vdate.php 検証ファイルを含む検証ファイルを作成します。このファイルは、名前空間が指定されている限り、共通ディレクトリの下に配置することもできます。正しい。コードは次のとおりです。

<?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"],

        ];
    }

コメントしたように、複数のフィールドを記述することができます。

次に、フロントエンド ページ コード:

<!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>

バックエンド コントローラー インデックスの下の対応する 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("新增失败!");
        }
   }

は問題ありません。実装は非常に簡単です。各フィールドのルールについては、マニュアルや公式サイトに多くの内容が記載されています。

この記事は終了です。

以上がThinkphp5 が validate を使用して検証機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。