溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Thinkphp5使用validate實(shí)現(xiàn)驗(yàn)證功能的方法

發(fā)布時間:2020-12-14 13:42:12 來源:億速云 閱讀:214 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)Thinkphp5使用validate實(shí)現(xiàn)驗(yàn)證功能的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

作為前端er,對于驗(yàn)證這塊有著切身的體會,雖然逐漸得心應(yīng)手,但始終沒有一個內(nèi)置的功能拿來就能用。tp5恰好提供一個。本文簡單介紹并實(shí)現(xiàn)以下。主要是實(shí)現(xiàn)一下。

驗(yàn)證的實(shí)現(xiàn)基于tp5內(nèi)置的對象validate。

在Index模塊化下index控制器同級目錄創(chuàng)建一個validate文件,里面一個Vdate.php驗(yàn)證文件,這個文件也可以放在common目錄下面,只要namespace正確就可。代碼如下

<?php
    namespace app\index\validate;
    use think\Validate;
    class  Vdate extends Validate{
      //每個字段對應(yīng)一個規(guī)則,這是第一層
        protected $rule=[
          ["name","require|max:10","不能為空|分類名不能超過10個字符"],
          ["parent_id","number","必須為數(shù)字"],
        /*  ["id","number","必須是數(shù)字"],
          ["status","number|in:1,0,-1","必須是數(shù)字|必須是是0,-1,1"],*/
        ];

     //應(yīng)用的場景,這是第二層
        protected $scene=[
          "save"=>["name","parent_id"],

        ];
    }

可以寫多個字段,就如同我注釋的。

然后前端頁面代碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>驗(yàn)證數(shù)據(jù)</title>
</head>
<body>
    <form action="{:url('index/validateF')}" method="GET">
        <input type="text" name="name">
        <input type="submit" value="提交">
    </form>
</body>
</html>

后端控制器index下面對應(yīng)的validateF

public function validateF()
   {
        $data=input("get.");
        print_r($data);
        $validate=validate("Vdate"); //使用驗(yàn)證
        //scene("save")->check($data)內(nèi)置方法
        if(!$validate->scene("save")->check($data)){
           $this->error($validate->getError());//內(nèi)置錯誤返回
        }

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

感謝各位的閱讀!關(guān)于Thinkphp5使用validate實(shí)現(xiàn)驗(yàn)證功能的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI