亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

EasySwoole 驗證器組件

EasySwoole 提供了獨立的 驗證器組件,幾行代碼即可實現對請求參數進行驗證。常用于對 HTTP 等請求中的請求參數的驗證。

驗證器 Validate 組件當前最新版本為 2.0.0,相比舊版本 1.3.0 及之前版本支持了更強的驗證規則,也允許用戶使用更多的自定義操作,更加方便用戶對請求參數進行驗證。關于組件舊版本 1.3.0 及更早版本的使用文檔請查看 Validate 1.3.x 文檔

另外框架還提供了在注解中對 HTTP 請求參數進行校驗的組件,可以很方便地對 HTTP 請求參數的合法性進行校驗。在注解中就可以設置請求參數的驗證規則,使得代碼更簡潔,詳細使用見 參數注解校驗

組件要求

  • php: >= 7.1.0
  • easyswoole/spl: ^1.0
  • psr/http-message: ^1.0
  • ext-json: *
  • ext-mbstring: *

安裝方法

框架 3.4.x 及以上版本自帶 validate 組件,所以不需要單獨安裝。3.4.x 之前的版本請單獨安裝,安裝方法如下:

composer require easyswoole/validate

倉庫地址

easyswoole/validate

基本使用

普通驗證

支持的驗證方法

普通驗證支持的驗證方法有如下:activeUrlallDigitalallowFile、allowFileTypealphaalphaDash、alphaNum、between、betweenLen、booldateAfterdateBefore、decimaldifferentdifferentWithColumnequalequalWithColumnfloatfunc、greaterThanWithColumn、inArray、integerisArray、isIplength、lengthMax、lengthMin、lessThanWithColumnmax、min、url、money、notEmptynotInArray、numeric、optionalregex、required、timestampAftertimestampAfterDate、timestampBeforetimestampBeforeDate、url。

驗證方法的具體使用可查看 方法列表

使用組件提供的默認的驗證錯誤信息提示

validate 驗證器提供了默認驗證錯誤信息的規則,點擊查看 默認驗證錯誤信息的規則。

使用示例如下:

<?php
require_once __DIR__ . "/vendor/autoload.php";

// 要驗證的數據
$data = [
    'name' => 'easyswoole',
    'age' => 19
];

// 初始化驗證器對象
$validate = new \EasySwoole\Validate\Validate();

// 給字段加上驗證規則 (驗證數據中 name 字段不能沒有)
$validate->addColumn('name')->required();

// 給字段加上驗證規則 (驗證數據中 age 字段不能沒有且值不能大于18)
$validate->addColumn('age')->required()->max(18);

// 驗證結果:驗證通過返回 true 反之返回 false
$bool = $validate->validate($data);
if ($bool) {
    var_dump("驗證通過");
} else {
    var_dump($validate->getError()->__toString());
}
/*
 * 輸出結果:string(23) "age的值不能大于18"
 */

注意:驗證器組件的驗證順序是按照添加驗證規則時的 添加字段的先后順序驗證規則的先后順序 逐個進行驗證的,先添加的驗證規則不通過則直接返回驗證失敗,然后就可以獲取對應的驗證錯誤信息。例如上述示例中,會優先驗證 name 字段是否存在。下面示例也是一樣的原理。

使用自定義的驗證錯誤信息提示

使用示例如下:

<?php
require_once __DIR__ . "/vendor/autoload.php";

// 要驗證的數據
$data = [
    'name' => 'easyswoole',
    'age' => 16
];

// 初始化驗證器對象
$validate = new \EasySwoole\Validate\Validate();

// 給字段加上驗證規則 (驗證數據中 name 字段不能沒有)
$validate->addColumn('name')->required('名字不為空');

// 給字段加上驗證規則
$validate->addColumn('age')->required('年齡不為空')->func(function ($itemData, $column, \EasySwoole\Validate\Validate $validate) {

    // 獲取要驗證的數據,為 1 個 \EasySwoole\Spl\SplArray 對象
    var_dump($validate->getVerifyData());

    // 判斷要驗證的數據是否屬于 \EasySwoole\Spl\SplArray
    var_dump($validate->getVerifyData() instanceof \EasySwoole\Spl\SplArray);

    // 獲取驗證的字段名,為 'age',即 addColumn() 中設置的字段名
    var_dump($column);

    // 獲取驗證的字段名的值,為 18
    var_dump($itemData);

    return ($validate->getVerifyData() instanceof \EasySwoole\Spl\SplArray) && $column === 'age' && $itemData === 0.001;
}, '只允許18歲的進入');

// 驗證結果:驗證通過返回 true 反之返回 false
$bool = $validate->validate($data);
if ($bool) {
    var_dump("驗證通過");
} else {
    var_dump($validate->getError()->__toString());
}
/*
 * 輸出結果:string(23) "只允許18歲的進入"
 */

自定義驗證

使用自定義驗證器類的自定義驗證規則

使用示例如下:

<?php
require_once __DIR__ . "/vendor/autoload.php";

class CustomValidator extends \EasySwoole\Validate\Functions\AbstractValidateFunction
{
    /**
     * 返回當前校驗規則的名字
     */
    public function name(): string
    {
        return 'mobile';
    }

    /**
     * 驗證失敗返回 false,或者用戶可以拋出異常,驗證成功返回 true
     * @param $itemData
     * @param $arg
     * @param $column
     * @return bool
     */
    public function validate($itemData, $arg, $column, \EasySwoole\Validate\Validate $validate): bool
    {
        $regular = '/^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))\\d{8}$/';
        if (!preg_match($regular, $itemData)) {
            return false;
        }

        return true;
    }
}

// 待驗證數據
$data = [
    'mobile' => '12312345678'
];

$validate = new \EasySwoole\Validate\Validate();

// 先添加 function 第一個參數為類,第二個參數設置是否覆蓋 (當存在相同名字的驗證規則,傳參數 true 會替換掉前面設置的同名的驗證規則)
$validate->addFunction(new CustomValidator(), false);

// 自定義錯誤消息示例
$validate->addColumn('mobile')->required('手機號不能為空')->callUserRule(new CustomValidator(), '手機號格式不正確');

// 驗證結果
$bool = $validate->validate($data);
if ($bool) {
    var_dump("驗證通過");
} else {
    var_dump($validate->getError()->__toString());
}
/*
 * 輸出結果:string(24) "手機號格式不正確"
 */

特殊驗證

使用帶 * 號的匹配規則進行驗證

使用示例如下:

<?php
require_once __DIR__ . "/vendor/autoload.php";

$validate = new \EasySwoole\Validate\Validate();

// * 可以放在任意位置 且有多個
$validate->addColumn('*.a')->required()->notEmpty()->between(1, 10);

// 驗證結果
$bool = $validate->validate([
    'a' => ['a' => 1],
    'b' => ['a' => 11]
]);
if ($bool) {
    var_dump("驗證通過");
} else {
    var_dump($validate->getError()->__toString());
}
/*
 * 輸出結果:*.a只能在 1 - 10 之間
 */

快速驗證

我們還提供了數組快速驗證方式。

函數原型:EasySwoole\Validate\Validate::make():

參數:

  • $rules 驗證規則.
  • $message 自定義錯誤信息.
  • $alias 字段別名.

返回值:

  • \EasySwoole\Validate\Validate::class實例.

使用示例如下:

<?php
require_once __DIR__ . "/vendor/autoload.php";

// 驗證規則
$rules = [
    'name' => 'required|notEmpty',
    'age' => 'required|integer|between:20,30',
    'weight' => 'required|max:50'
];

// 驗證錯誤消息提示
$messages = [
    'name.required' => '名字不能為空!',
    'age' => '年齡輸入有誤!',
    'weight.max' => '體重最大不能超過50!'
];

// 驗證字段的別名
$alias = [
    'name' => '名字',
    'age' => '年齡',
    'weight' => '體重'
];

// 組裝快速驗證
$validate = \EasySwoole\Validate\Validate::make($rules, $messages, $alias);

// 驗證結果
$bool = $validate->validate([
    'name' => '史迪仔',
    'age' => 20,
    'weight' => 70
]);
if ($bool) {
    var_dump("驗證通過");
} else {
    var_dump($validate->getError()->__toString());
}
/*
 * 輸出結果:weight的值不能大于'50'
 */

暫不支持 inArray、notInArray、funccallUserRule、allowFileallowFileType 等規則。

其他的具體的驗證規則,可查看 驗證規則列表

亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    欧美一区二区高清在线观看| 国产精品亚洲不卡a| 国产精品一码二码三码在线| 一本久久综合| 欧美激情综合| 亚洲人体一区| 日本一区二区在线| 精选一区二区三区四区五区| 久久久成人网| 蜜桃伊人久久| 国产久一道中文一区| 激情婷婷久久| 黄页网站一区| 国产精品二区二区三区| 在线播放豆国产99亚洲| 亚洲高清视频在线观看| 日本午夜精品一区二区三区| 福利视频久久| 国产美女99p| 精品免费国产| 国产在线欧美日韩| 久久涩涩网站| 日本一区二区在线视频| 日日骚一区二区网站| 婷婷精品国产一区二区三区日韩| 久久一区二区三区av| 久久99精品久久久水蜜桃| 久久国产主播精品| 免费看国产精品一二区视频| 欧美理论一区二区| 亚洲午夜精品国产| 欧美日韩国产综合在线| 亚洲午夜激情| 99视频+国产日韩欧美| 免费日韩av| 国产视频精品网| 日韩精品伦理第一区| 中日韩在线视频| 亚洲激情av| 国产精品日韩二区| 国产精品久久久久久久小唯西川 | 96成人在线视频| 国产午夜精品在线| 日韩精品一线二线三线| 午夜精品久久久久99热蜜桃导演| 精品999成人| 久久中文欧美| 色噜噜狠狠一区二区三区| 欧美黄色精品| 久久久久久久高潮| 欧美日韩精品久久久免费观看| 亚洲午夜精品久久久久久浪潮| 亚洲国产婷婷| 国产精品伊人日日| 欧美在线高清| 久久久久久久高潮| 亚洲.欧美.日本.国产综合在线| 欧美日韩在线一二三| 久久久久久9| 亚洲7777| 亚洲一区观看| 性刺激综合网| 欧美中文字幕| 亚洲自拍三区| 91视频在线免费观看| 亚洲精品成人自拍| 久久免费一区| 欧美在线日韩| 国产精品18毛片一区二区| 一区二区三区不卡在线| 久久最新视频| 国产精品magnet| 国产精品久久亚洲7777| 欧美日韩精品综合| 精品久久久久亚洲| 在线综合欧美| 亚洲人成影视在线观看| 91久久极品少妇xxxxⅹ软件 | 午夜影院日韩| 一区二区三区偷拍| 国产精品香蕉视屏| 亚洲经典在线| 亚洲丰满在线| 好吊妞www.84com只有这里才有精品 | 国产高清精品一区| 韩国一区二区三区在线观看| 狠狠色综合色区| 日韩五码在线| 午夜精品一区二区在线观看| 国精产品99永久一区一区| 日韩亚洲在线| 欧美久久成人| 午夜精品美女久久久久av福利| 99re国产在线播放| 一本色道久久综合亚洲精品高清| 天堂va久久久噜噜噜久久va| 国产精品福利视频| 亚洲欧美电影在线观看| 激情久久一区| 中文字幕一区二区三区四区五区六区| 狠狠综合久久av| 老司机精品导航| 亚洲综合精品| 四虎影院一区二区三区 | 久久免费视频1| 国产经典一区二区三区| 免费在线观看成人av| 亚洲人成免费| 国产一区清纯| 欧美日韩一区自拍| 欧美三级第一页| 中文网丁香综合网| 亚洲欧洲另类精品久久综合| 久久爱av电影| 久久青青草原| 麻豆传媒一区| 日本视频一区二区在线观看| 精品蜜桃传媒| 欧美精品成人一区二区在线观看 | 色女孩综合网| 亚洲成人网上| 日本精品一区二区| 神马影院我不卡| 日韩欧美在线观看强乱免费| 欧美日韩免费观看一区| 欧美一区二区在线| 视频一区在线免费观看| 性欧美videosex高清少妇| 亚洲午夜在线观看| 欧美成人国产| 亚洲精品麻豆| 亚洲一区三区电影在线观看| 国产午夜精品在线| 免费一区视频| 国产在线欧美日韩| 青青草国产精品| 欧美系列一区| 国产精品日韩一区二区| 老牛国产精品一区的观看方式| 国产成人精品免费视频大全最热| 国产亚洲欧美一区二区三区| 欧美一区二区高清在线观看| 亚洲图片在线观看| 亚洲美女黄网| 国产主播一区二区三区四区| 秋霞毛片久久久久久久久| 欧美成人蜜桃| 性感少妇一区| 日本不卡在线观看| 欧美色一级片| 97超碰资源| 一本一道久久久a久久久精品91 | 亚洲 日韩 国产第一区| 国模吧视频一区| 99视频在线| 中文字幕精品—区二区日日骚| 99爱精品视频| 欧美成人综合一区| 在线精品观看| 国产综合色一区二区三区| 欧美激情1区2区3区| 国产模特精品视频久久久久| 麻豆亚洲一区| 中文国产一区| 欧美午夜欧美| 国产欧美成人| 日韩在线导航| 久久久久久一区二区| 日韩资源av在线| 麻豆av福利av久久av| 午夜精品一区二区在线观看| 国产精品区一区| 亚洲三级一区| 5566av亚洲| 欧美 日韩 国产 一区| 久久午夜激情| 激情综合激情| 欧美日产一区二区三区在线观看| 精久久久久久| 欧美中文娱乐网| 久久久久久亚洲精品杨幂换脸| 亚洲一区bb| 久久涩涩网站| 97免费资源站| 一区二区三区高清视频在线观看| 欧美亚洲国产免费| 成人免费在线一区二区三区| 韩日欧美一区| 亚洲一区二区三区精品在线观看 | 亚洲欧美综合| 久久一区二区三区欧美亚洲| 亚洲欧美日产图| 欧美另类高清视频在线| 久久久99爱| 国产精品xxx在线观看www| 伊人久久成人| 欧美日韩国产综合网| 日本精品一区二区| 国产欧美日韩亚洲| 3d精品h动漫啪啪一区二区|