验证
china_wangyu@163.com
验证
PAA-ThinkPHP6
继承于ThinkPHP V6.0
,所以直接继承了ThinkPHP V6.0
验证器。
ThinkPHP V6.0
内置规则:
文档链接: 点我
控制器中使用验证器
ThinkPHP V6.0
官方文档中有详细的验证器中使用文档。
文档链接: 点我
有三种操作方式:
前提是都需要定义好验证器,例如:我们定义一个\app\validate\User验证器类用于User的验证。
方法内实例化调用
$validate = new \app\validate\User; $result = $validate->check($data); if(!$result){ echo $validate->getError(); }
1
2
3
4
5
6当前控制器继承了
app\BaseController
后$result = $this->validate($data,'\app\validate\User::class'); if(!$result){ echo $validate->getError(); }
1
2
3
4
5使用助手函数
validate()
后try { validate(User::class)->check([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]); } catch (ValidateException $e) { // 验证失败 输出错误信息 dump($e->getError()); }
1
2
3
4
5
6
7
8
9
注解中使用验证器
ThinkPHP V6.0
官方文档中有详细的注解验证器使用文档。(也是本人写的
)
文档链接: 点我
前提是都需要定义好验证器,例如:我们定义一个\app\validate\User验证器类用于User的验证。
示例:
<?php
namespace app\controller;
use paa\annotation\{
Doc,Param
};
use think\annotation\route\{
Route,Validate
};
use app\validate\User;
class Index
{
/**
* @Route(value="miss",method="GET")
* @Validate(User::class)
* @Doc(value="缓存",hide="false")
*/
public function hello()
{
return 'hello, TP6 Annotation Validate';
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
单个注解验证器(特色)
lazyskills/paa-thinkphp6
官方文档中有详细的使用文档。(也是本人写的
)
文档链接: 点我
需要先安装
"lazyskills/paa-thinkphp6": "dev-master",
引入单个参数注解器:paa\annotation\Param
函数参数 | 说明 | 字段类型 | 是否必传 |
---|---|---|---|
value | 参数名称 | string | 是 |
doc | 参数说明 | string | 否 |
rule | 验证规则 | array | 是 |
type | 验证类型 | string | 否 |
示例:
<?php
namespace app\controller;
use paa\annotation\{
Doc,Jwt,Param
};
use think\annotation\route\{
Group,Route
};
class Index
{
/**
* @Route(value="test",method="GET")
* @Param(value="name",doc="名称",rule={"require","number","alphaDash"})
* @Param(value="age",doc="年纪",rule={"require","number"})
* @Jwt()
* @Doc(value="推荐测试",group="推荐",hide="false")
*/
public function test()
{
return 'PAA';
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Initializing...