国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman request

v1.0.4 版本
2025-05-10 版本更新時(shí)間
39 安裝
2 star

Webman框架請(qǐng)求驗(yàn)證器擴(kuò)展包

本擴(kuò)展包為Webman框架提供了一個(gè)優(yōu)雅的請(qǐng)求驗(yàn)證解決方案,內(nèi)置了ThinkPHP驗(yàn)證器,通過依賴注入方式自動(dòng)生成請(qǐng)求對(duì)象,并對(duì)對(duì)象的字段進(jìn)行校驗(yàn)。

安裝

通過Composer安裝:

composer require hollisho/webman-request

基本使用

定義請(qǐng)求類

首先,創(chuàng)建一個(gè)繼承自WebmanRequest的請(qǐng)求類:

<?php

namespace app\request;

use Hollisho\WebmanRequest\WebmanRequest;

class MyRequest extends WebmanRequest
{
    // 定義請(qǐng)求參數(shù)屬性
    public $id;
    public $status = 0; // 可以設(shè)置默認(rèn)值

    // 定義驗(yàn)證規(guī)則
    public function rules()
    {
        return [
            'id' => 'require|number',
            'status' => 'require|number',
        ];
    }

    // 定義錯(cuò)誤消息
    protected function messages()
    {
        return [
            'id.require' => 'id不能為空',
            'id.number' => 'id必須為數(shù)字',
            'status.require' => 'status不能為空',
            'status.number' => 'status必須為數(shù)字',
        ];
    }
}

在控制器中使用

在控制器中通過依賴注入方式使用請(qǐng)求類:

<?php

namespace app\controller;

use app\request\MyRequest;
use support\Response;

class IndexController
{
    public function index(MyRequest $request)
    {
        // 驗(yàn)證通過后,可以直接使用請(qǐng)求對(duì)象的屬性
        $id = $request->id;
        $status = $request->status;

        // 業(yè)務(wù)邏輯處理...
        return json(['code' => 0, 'msg' => 'success', 'data' => [
            'id' => $id,
            'status' => $status
        ]]);
    }
}

常用驗(yàn)證規(guī)則

本擴(kuò)展包內(nèi)置了ThinkPHP驗(yàn)證器的所有驗(yàn)證規(guī)則,以下是一些常用的驗(yàn)證規(guī)則:

規(guī)則 說明 示例
require 必須填寫 'name' => 'require'
number 必須是數(shù)字 'age' => 'number'
integer 必須是整數(shù) 'count' => 'integer'
float 必須是浮點(diǎn)數(shù) 'price' => 'float'
boolean 必須是布爾值 'status' => 'boolean'
email 必須是郵箱格式 'email' => 'email'
array 必須是數(shù)組 'tags' => 'array'
date 必須是日期格式 'birthday' => 'date'
alpha 必須是字母 'name' => 'alpha'
alphaNum 必須是字母和數(shù)字 'account' => 'alphaNum'
alphaDash 必須是字母、數(shù)字、下劃線或破折號(hào) 'username' => 'alphaDash'
chs 必須是中文 'name' => 'chs'
chsAlpha 必須是中文或字母 'name' => 'chsAlpha'
chsAlphaNum 必須是中文、字母或數(shù)字 'name' => 'chsAlphaNum'
chsDash 必須是中文、字母、數(shù)字、下劃線或破折號(hào) 'name' => 'chsDash'
url 必須是URL地址 'website' => 'url'
ip 必須是IP地址 'ip' => 'ip'
mobile 必須是手機(jī)號(hào)碼 'mobile' => 'mobile'
idCard 必須是身份證號(hào)碼 'idcard' => 'idCard'
zipCode 必須是郵政編碼 'zipcode' => 'zipCode'
in 必須在范圍內(nèi) 'type' => 'in:1,2,3'
notIn 必須不在范圍內(nèi) 'type' => 'notIn:1,2,3'
between 必須在范圍內(nèi) 'age' => 'between:18,60'
notBetween 必須不在范圍內(nèi) 'age' => 'notBetween:0,17'
length 長(zhǎng)度必須在范圍內(nèi) 'name' => 'length:2,20'
max 最大長(zhǎng)度 'name' => 'max:20'
min 最小長(zhǎng)度 'password' => 'min:6'
after 必須在日期之后 'begin_time' => 'after:2020-01-01'
before 必須在日期之前 'end_time' => 'before:2030-01-01'
confirm 必須和指定字段相同 'repassword' => 'confirm:password'
different 必須和指定字段不同 'nickname' => 'different:username'
eq 必須等于指定值 'status' => 'eq:1'
neq 必須不等于指定值 'status' => 'neq:0'
gt 必須大于指定值 'age' => 'gt:18'
lt 必須小于指定值 'age' => 'lt:60'
egt 必須大于等于指定值 'age' => 'egt:18'
elt 必須小于等于指定值 'age' => 'elt:60'
regex 必須滿足正則表達(dá)式 'zip' => 'regex:/^\d{6}$/'

總結(jié)

hollisho/webman-request擴(kuò)展包為Webman框架提供了一個(gè)強(qiáng)大而靈活的請(qǐng)求驗(yàn)證解決方案,通過依賴注入的方式自動(dòng)驗(yàn)證請(qǐng)求參數(shù),使代碼更加簡(jiǎn)潔和易于維護(hù)。它支持多種驗(yàn)證規(guī)則、自定義驗(yàn)證規(guī)則、驗(yàn)證場(chǎng)景等高級(jí)功能,能夠滿足各種復(fù)雜的驗(yàn)證需求。

參考鏈接

特別說明

特別說明

  • 由于thinkphp驗(yàn)證器的原因,本擴(kuò)展包不支持php8.0以上的版本,請(qǐng)?jiān)谑褂们按_認(rèn)您的PHP版本。
  • 本擴(kuò)展包僅提供了基本的請(qǐng)求驗(yàn)證功能,對(duì)于更復(fù)雜的驗(yàn)證需求,您可以根據(jù)實(shí)際情況自行擴(kuò)展。(例如場(chǎng)景的支持目前尚未支持)
贊助商