//生成资源控制器 php think make:controller app\index\controller\User//路由定义Route::resource('user','index/user'); //中间件扩展定义文件 在application\User目录下 新建middleware.php
<?php
// 中间件扩展定义文件
return [
'Check' => app\http\middleware\Check::class
];
//生成验证规则 php think make:validate index/User namespace app\index\validate; use think\Validate; class User extends Validate protected $rule = [ 'user_name' => 'require|alphaNum', 'password' => 'require', ]; protected $message = [ 'user_name.require' => '请输入账号', 'user_name.alphaNum' => '账号只能是数字和字母', 'password.require' => '请输入密码', ]; protected $scene = [ 'login' => ['user_name', 'password'], 'register' => ['user_name', 'password'], ]; //生成中间件 php think make:middleware Check param(); //获取访问模块 $module = $request->module(); //获取访问控制器 $controller = ucfirst($request->controller()); //获取操作名,用于验证场景scene $scene = $request->action(); $validate = "app\\" . $module . "\\validate\\" . $controller; //仅当验证器存在时 进行校验 if (class_exists($validate)) { $v = $this->app->validate($validate); if ($v->hasScene($scene)) { //仅当存在验证场景才校验 $result = $this->validate($params, $validate . '.' . $scene); if (true !== $result) { //校验不通过则直接返回错误信息 return json(['code' => -1, 'msg' => $result]); } } } return $next($request); } }