下面由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> ????<meta> ????<title>驗證數(shù)據(jù)</title> ????
后端控制器index下面對應(yīng)的validateF
public?function?validateF() ???{ ????????$data=input("get."); ????????print_r($data); ????????$validate=validate("Vdate");?//使用驗證 ????????//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("新增失敗!"); ????????} ???}
這樣就可以了。很簡單的實現(xiàn)。關(guān)于每個字段的規(guī)則,內(nèi)容很多可以參考手冊或者官網(wǎng)吧。
本文結(jié)束。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END