關於thinkPHP5框架自訂驗證器的實作方法
這篇文章主要介紹了thinkPHP5框架自訂驗證器實作方法,結合實例形式分析了thinkPHP自訂驗證器的具體定義與使用方法,需要的朋友可以參考下
本文實例講述了thinkPHP5框架自訂驗證器實作方法。分享給大家供大家參考,具體如下:
普通的驗證器手冊上已經很詳細,我們講解一下如何自訂一個驗證器
首先我們在模組目錄下建立validata文件夾
然後在裡面建立一個類,取名為IdMustInt.php
程式碼如下:注意,我的模組名為api,所以命名空間如下
保護屬性$rule為官方規定,不能改變,其實驗證規則require都是封裝好的函數名,所以我們也建立一個方法,方法名填寫在驗證規則後面即可
##
namespace app\api\validate; use think\Validate; class IdMustInt extends Validate { protected $rule = [ 'id' => 'require|IsInt' ]; protected function IsInt($value,$rule,$data,$field){ //参数依次为验证数据,验证规则,全部数据(数组),字段名 //这里我们要判断的验证的数据要求必须为正整型 if(is_numeric($value) && is_int($value+0) && ($value+0) > 0){ return true; }else{ //如果不符合我们的条件,返回错误信息,在控制器中可以用getError()方法输出 return $field.'不是整型'; } } }
public function getBanner($id) { //需要验证的数据 $data = [ 'id' => $id, ]; //实例化验证器 $validate = new IdMustInt(); //如果验证数据较多,条件也较多,需要批量返回所有错误信息的话,可以在check()前加上$validata->batch() $result = $validate->check($data); if($result){ //业务逻辑 }else{ dump($validate->getError()); } }
#
以上是關於thinkPHP5框架自訂驗證器的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

寶塔部署thinkphp5報錯的解決方法:1、開啟寶塔伺服器,安裝php pathinfo擴充並啟用;2、設定「.access」文件,內容為「RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]」;3、在網站管理裡面,啟用thinkphp的偽靜態即可。

thinkphp5 url重寫不行的解決方法:1、查看httpd.conf設定檔中是否載入了mod_rewrite.so模組;2、將AllowOverride None中的None改為All;3、修改Apache設定檔.htaccess為「RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]」保存即可。

移除thinkphp5標題列icon的方法:1、找到thinkphp5框架public下的favicon.ico檔案;2、刪除該檔案或選擇另一張圖片命名改為favicon.ico,並取代原favicon.ico檔案即可。

thinkphp5取得請求網址的方法:1.使用「\think\Request」類別的「$request = Request::instance();」方法取得目前的url資訊;2、透過自帶的助手函數「$request-> url()」取得包含網域的完整URL位址。

thinkphp5 post無法得到值是因為TP5是透過strpos函數在Header的content-type值中找出app/json字串的,其解決辦法就是設定Header的content-type值為app/json即可。

thinkphp5提示控制器不存在的解決方法:1、檢查對應的控制器裡面的命名空間是否寫對,修改為正確的命名空間;2、打開對應的tp文件,修改類別名稱即可。

ThinkPHP5查詢昨天資料的方法:1、開啟ThinkPHP5相關檔案;2、透過表達式「db('table')->whereTime('c_time', 'yesterday')->select();」查詢昨天的資料即可。

thinkphp5設定報錯提示的方法:1、進入專案根目錄下的public資料夾,開啟index.php入口檔案;2、檢視偵錯模式開關的註解;3、將「APP_DEBUG」常數的值調整為true即可展示錯誤訊息提示。
