這篇文章給大家分享的是有關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>
<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("新增失??!");
}
}感謝各位的閱讀!關于Thinkphp5使用validate實現驗證功能的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。