webman_tool工具库:新快速验证器,简单token类

v1.6 版本
2024-03-09 版本更新时间
43 安装
4 star

简介

webman框架定制开发的工具

仓库开源地址:https://gitee.com/wekyun/webman_tool
composer主页地址:https://packagist.org/packages/wekyun/tool

1:参数接受的验证(是否必传,是否符合规则),可以让写的代码优雅又参数安全
2:简单的token类

参数接受是基于TP8.x的验证器修改的,也就是说内置规则可以看TP的文档;
验证规则文档:https://doc.thinkphp.cn/v8_0/rule_buildin.html

安装

在webmen的框架根目录运行

composer require wekyun/tool

基本使用

安装完了就可以直接使用:参考下代码12行;
基本用法功能:1:参数接受;2:参数必填验证;

说明:$req->request是官方的request类对象

<?php

namespace app\factory\controller;

use weklibs\common\WekBaseController;
use Wekyun\Tool\Req;

class WorkmanshipController
{
    public function cs(Req $req)
    {
        $param = $req->checkAll(['cs1','cs2','cs3']);
        return json_encode($param);
    }

}

运行结果实例1:参数接受
运行结果实例
以上是纯接受参数!

运行结果实例2:参数接受并验证cs4必填
运行结果实例2
以上是接收参数并验证必填参数!省去了必填参数的if判断!
异常报错需要自定义,参考其他异常处理的插件,或者自己全局托管!

高级用法配置

高级用法说明:基础用法使用了基本默认的验证,高级用法就是需要自定义验证规则,原则上就是按照TP的文档定义字段验证,然后在本插件中映射验证规则的路径,在使用中即可使用映射的规则名,比如下列代码中的‘com’,也可自己添加更多的自定义验证规则,名称可以是‘shop’也可以是别的。
需要在config配置目录下创建 wekyun.php 配置文件,目录结构如下。

├── app                           应用目录
├── config                        配置目录
│   ├── wekyun.php         check配置文件

在 wekyun.php中粘贴如下代码

<?php
//配置文件名要改成 wekyun.php 放在webman项目的根目录的config的根目录下
return [
    'def' => [
        'err_code' => 203,//没生效
        //自定义错误的处理方法 $msg:错误提示   也可以去接管抛出的异常:Wekyun\Tool\exception\ValidateException
//        'err_func' => function ($msg) {
//        },
        //此配置为必须,配置需要使用的验证场景类,需要按照目录创建文件写法参考TP的验证器文档
        'mapping' => [
            'def' => \Wekyun\Tool\validate\defValidate::class,//默认的,也可以自己创建一个,这里改成自己的
            //'com' => \app\validate\ComValidate::class,//自己定义其他规则文件例如,admin shop 等场景使用的规则文件
        ],
    ],
];

使用

必传规则如下:默认值中不能用下面这些规则符号,比如url地址中的 .

规则 规则说明
. 就是一个英文状态下的点,它表示必传
> 自定义必传提示,常用户前端字段友好提示
英文状态的竖线 它是自定义字段错误提示的别名,此处竖线是表格的边界符,打不出来
: 设置默认值,此标识符和必传字段的 .不可以同时使用,有冲突

英文状态下的 | ,它是自定义字段错误提示的别名


在字段特别多的时候,验证后写字段的必传时,这个插件非常香。

提示:下面代码中 $req->checkAll('com', ['name', 'age', 'sex']); com是验证的规则文件,后面是验证参数

<?php

namespace app\controller;

use Wekyun\Tool\Req;

class IndexController
{
    public function index(Req $req)
    {
        //checkAll:方法是接受验证所有的参数(get和post),只要传递都接收,不止第二个字段设定的
        //com : 是指验证参数要使用的的规则是哪个,这个需要在wekyun.php这个配置文件的 mapping 中先设置好
        //第二个参数的数组:是指定接受的参数字段,如果字段有对应的验证规则就会验证
        $param = $req->checkAll('com', ['name', 'age', 'sex']);//$param是接受的参数,类型是数组

        如果需要对参数去空格,可以使用下面的写法:
        $req->checkAll('com', ['name', 'age', 'sex']);//接收参数并验证
        $param = $req->trim();//去除空格,并返回接受的参数值

        //checkGet:是接受验证所有get传递的参数
        $req->checkGet();

        //checkPost:是接受验证所有post传递的参数
        $req->checkPost();

        //checkOnlyAll:是接受指定的参数(get和post),下面只接收name,别的传了也不管
        $req->checkOnlyAll('com', ['name']);

        //checkOnlyGet:是接受指定的参数(get),下面只接收age,别的传了也不管
        $req->checkOnlyGet('com', ['age']);

        //checkOnlyPost:是接受指定的参数(post),下面只接收sex,别的传了也不管
        $req->checkOnlyPost('com', ['sex']);

    }

}

详细文档:https://gitee.com/wekyun/webman_tool#使用文档

赞助商