1. 程式人生 > >Swoft 踩坑筆記十三 - HTTP驗證器 Validator

Swoft 踩坑筆記十三 - HTTP驗證器 Validator

驗證器就是用來做引數判斷的,如果傳的引數不正確,就返回錯誤資訊。

示例
建立 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容器