TP5.1中的驗證類 validate用法



在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源代碼

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM