Think PHP6 官方文档地址:https://www.kancloud.cn/manual/thinkphp6_0/1037479
官方文档一直都被吐槽不够详细. 所以本文将验证器的使用写一下, 验证器可以替代很多的判断.
例如, 在 TP3 的时候, 可能是这样判断的:$name = I('name', '');
if (empty($name)) {
// 抛出异常
}
如果参数比较多的时候, 需要判断的变量越多代码量也随着增加. 如果使用验证器就会好很多.
验证器的官方文档: https://www.kancloud.cn/manual/thinkphp6_0/1037624
直接上代码:<?php
namespace app\api\controller;
use think\facade\Validate;
use think\Request;
class Auth
{
public function index(Request $request)
{
$input = $request->post();
$validate = Validate::rule([
'name|名称' => 'require|max:25',
'email|邮箱' => 'require|email'
]);
if (!$validate->check($input)) {
return $validate->getError();
}
}
}
使用 Postman 请求该接口, 可看到结果:
请求参数加上 name 则可以看到继续向下验证了邮箱:
Laravel 也有相关的验证器 : Laravel表单自定义验证消息