当前位置: 首页> 健康> 知识 > fastadmin中api模块自动validate验证参数

fastadmin中api模块自动validate验证参数

时间:2025/7/20 1:39:55来源:https://blog.csdn.net/qq_31340657/article/details/139584642 浏览次数:0次

用此方法,只需要验证器名称与controller名称一致,场景名字与controller的方法名字一致,即可完成验证

自定义一个MyApi的controller作为基类
其中初始化方法里面进行统一验证

    protected function _initialize(){parent::_initialize(); // TODO: Change the autogenerated stub$request = $this->request;$class = 'app\common\validate\\' . $request->controller();if (class_exists($class)) {$validate = $this->validate($request->param(), $request->controller() . '.' . $request->action());$validate !== true && $this->error('参数错误:' . $validate);}}

这样就只需要在common模块的validate目录下写入对应的验证规则
验证规则示例

<?phpnamespace app\common\validate;use think\Validate;class Demo extends Validate
{/*** 验证规则*/protected $rule = ['name' => 'require|max:3','age'=>'require'];/*** 提示消息*/protected $message = ['name.require' => '少了用户名','name.max' => '最多3位','age.require' => '缺少年龄'];/*** 验证场景*/protected $scene = ['add' => ['name','age'],'edit' => ['age'],];}

其中场景中,场景的名字就是controller中的方法名字
因此,只需要验证器名称与controller名称一致,场景名字与controller的方法名字一致,即可完成验证

关键字:fastadmin中api模块自动validate验证参数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: