這篇文章主要介紹了Thinkphp5框架使用validate實現驗證功能的方法,結合實例形式分析了tp5內置的對象validate實現驗證的相關操作技巧,需要的朋友可以參考下
本文實例講述了Thinkphp5框架使用validate實現驗證功能的方法。分享給大家供大家參考,具體如下:
作爲前端er,對於驗證這塊有着切身的體會,雖然逐漸得心應手,但始終沒有一個內置的功能拿來就能用。tp5恰好提供一個。本文簡單介紹並實現以下。主要是實現一下。
驗證的實現基於tp5內置的對象validate。
在Index模塊化下index控制器同級目錄創建一個validate文件,裏面一個Vdate.php驗證文件,這個文件也可以放在common目錄下面,只要namespace正確就可。代碼如下
<?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 lang="en"> <head> <meta charset="UTF-8"> <title>驗證數據</title> </head> <body> <form action="{:url('index/validateF')}" method="GET"> <input type="text" name="name"> <input type="submit" value="提交"> </form> </body> </html>
後端控制器index下面對應的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('新增成功'); }else{ $this->error("新增失敗!"); } }
這樣就可以了。很簡單的實現。關於每個字段的規則,內容很多可以參考手冊或者官網吧。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。