本文實例講述了Thinkphp5框架使用validate實現(xiàn)驗證功能的方法。分享給大家供大家參考,具體如下:
作為前端er,對于驗證這塊有著切身的體會,雖然逐漸得心應手,但始終沒有一個內(nèi)置的功能拿來就能用。tp5恰好提供一個。本文簡單介紹并實現(xiàn)以下。主要是實現(xiàn)一下。
驗證的實現(xiàn)基于tp5內(nèi)置的對象validate。
在Index模塊化下index控制器同級目錄創(chuàng)建一個validate文件,里面一個Vdate.php驗證文件,這個文件也可以放在common目錄下面,只要namespace正確就可。代碼如下
?php
namespace app\index\validate;
use think\Validate;
class Vdate extends Validate{
//每個字段對應一個規(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"],*/
];
//應用的場景,這是第二層
protected $scene=[
"save"=>["name","parent_id"],
];
}
可以寫多個字段,就如同我注釋的。
然后前端頁面代碼
!DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
title>驗證數(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下面對應的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èi)容很多可以參考手冊或者官網(wǎng)吧。
更多關于thinkPHP相關內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:- thinkphp框架使用JWTtoken的方法詳解
- PHP如何使用JWT做Api接口身份認證的實現(xiàn)
- php實現(xiàn)JWT(json web token)鑒權實例詳解
- PHP JWT初識及其簡單示例
- php JWT在web端中的使用方法教程
- php 后端實現(xiàn)JWT認證方法示例
- thinkPHP5使用Rabc實現(xiàn)權限管理
- thinkPHP5使用laypage分頁插件實現(xiàn)列表分頁功能
- thinkphp5使用bootstrapvalidator進行異步驗證郵箱的示例
- 基于ThinkPHP5框架使用QueryList爬取并存入mysql數(shù)據(jù)庫操作示例
- ThinkPHP5框架中使用JWT的方法示例