Swoft 踩坑笔记十三 - HTTP验证器 Validator

17 篇文章 4 订阅

验证器就是用来做参数判断的,如果传的参数不正确,就返回错误信息。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值