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容器

猜你喜欢

转载自blog.csdn.net/weikaixxxxxx/article/details/85123917
今日推荐