验证器就是用来做参数判断的,如果传的参数不正确,就返回错误信息。
示例
创建 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容器