Swoft 踩坑筆記十三 - HTTP驗證器 Validator
阿新 • • 發佈:2018-12-25
驗證器就是用來做引數判斷的,如果傳的引數不正確,就返回錯誤資訊。
示例
建立 swoft/app/Controllers/Index/TestController.php
namespace App\Controllers\Index; use Swoft\Http\Message\Server\Request; use Swoft\Http\Server\Bean\Annotation\Controller; use Swoft\Http\Server\Bean\Annotation\RequestMapping; use Swoft\Http\Server\Bean\Annotation\RequestMethod; use Swoft\Bean\Annotation\Strings; use Swoft\Bean\Annotation\ValidatorFrom; /** * Class TestController * @Controller("/test") */ class TestController { /** * @RequestMapping(route="test") * @Strings(from=ValidatorFrom::GET, name="name", min=3, max=10, default="111", template="提交的{name}引數不符合最小長度{min}和最大長度{max}") */ public function test(Request $request) {} }
from
: 引數定義驗證資料型別, 預設 POST,支援PATH(路徑引數)/GET/POST 三種引數
name
: 定義驗證的名稱
min
: 定義字串最小長度
max
: 定義字串最大長度
default
: 定義預設值, PATH引數不支援定義預設值, 引數不存在有效
template
: 自定義模板提示
使用postman來發送請求
http://192.168.247.130:8081/test/test?name=11
常用驗證
@Strings
:字串型別
@Number
:正整數
@Integer
:整數
@Floats
:浮點數
@Enum
:列舉
更多驗證示例可以參考:swoft/app/Controller/ValidatorController.php
正整數
@Number(from=ValidatorFrom::GET, name="id", min=5, max=10, default=7)
提交地址
ip:埠/validator/number/數字
用來判斷大小的,最小5,最大10。如果傳非數字會返回不是數字。
使用時別忘了use對應的
下一篇:Bean容器