您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(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é)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(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)容。