在TP5.1 中推薦使用驗證器進行數據的驗證 以下是數據驗證的簡單實例:
#控制器代碼:
<?php namespace app\index\controller; use think\Controller; class Index { #測試驗證器使用規則 public function yz(\think\facade\Request $data)#TP5.1中的依賴注入方法 {
#實例化驗證驗證器 $res=new \app\index\validate\Index;
#對數據進行驗證 if(!$res->Check($data::post())){ return json($res->getError()); }else{
return json('驗證通過');
} } }
#驗證器代碼:
<?php namespace app\index\validate; use think\Validate; #導入TP的驗證器類 class Index extends Validate #繼承父類 {
#$rule中寫入驗證規則 格式['字段名稱|別名'=>'驗證規則'] #多個規則使用'|'隔開;
#TP 驗證類文件中有豐富的方法 require 代表該字段數據不能為空
protected $rule = [ 'name|名稱'=>'require|max:5', 'age|年齡'=> 'require|number', 'email|郵箱'=>'require', ]; }
我們自己建立的模型文件中僅需要在繼承TP的驗證類后只需要寫入驗證的內容即可;
我們使用POSTman提交數據進行測試:
我們定義的驗證的字段有 name->age->email TP框架會安裝先后順序對數據進行判斷,遇到格式不符合規則的數據則立即返回布爾值;
我們首先提供合法的驗證數據:
name=demo; age=1; email=xxx@qq.com
系統返回驗證通過

接着使用不合法的數據進行驗證 我們的驗證規則中定義 'age|年齡'=> 'require|number',
意思為:age字段的數據 不能為空且只能為數字
我們給age提交一個中文試試看返回結果:

框架返回年齡必須是數字 其中在控制器中的代碼 在驗證不通過的情況下我們使用的是validata中的 getError()方法返回的錯誤
以上為TP驗證器的基本使用方法,更多方法以及驗證規則請查閱TP官方文檔或者查閱Validata.php源代碼

