Thinkphp5如何使用validate實現(xiàn)驗證功能

下面由thinkphp框架教程欄目給大家介紹thinkphp5使用validate實現(xiàn)驗證功能,希望對需要的朋友有所幫助!

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

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

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

<?php     namespace appindexvalidate;     use thinkValidate;     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"],  ????????]; ????}

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

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

然后前端頁面代碼:

nbsp;html&gt;   ????<meta> ????<title>驗證數(shù)據(jù)</title> ????
???????? ???????? ????

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

public?function?validateF() ???{ ????????$data=input("get."); ????????print_r($data); ????????$validate=validate("Vdate");?//使用驗證 ????????//scene("save")-&gt;check($data)內(nèi)置方法 ????????if(!$validate-&gt;scene("save")-&gt;check($data)){ ???????????$this-&gt;error($validate-&gt;getError());//內(nèi)置錯誤返回 ????????}  ????????//剩下操作 ????????$res=model("category")-&gt;add($data); ????????if($res){ ??????????$this-&gt;success('新增成功'); ????????}else{ ??????????$this-&gt;error("新增失敗!"); ????????} ???}

這樣就可以了。很簡單的實現(xiàn)。關(guān)于每個字段的規(guī)則,內(nèi)容很多可以參考手冊或者官網(wǎng)吧。

本文結(jié)束。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊12 分享