laravel7.x 和tp5.0.xApi表单参数验证

tp5.0.24

封装公共验证方法

    /**
     * 通用的响应
     * @param int $code 错误码
     * @param string $msg 错误信息
     * @param array $data 返回数据
     */
    protected function response($code = 200, $msg = 'success', $data = [])
    {
        $res = [
            'code' => $code,
            'msg' => $msg,
            'data' => $data
        ];
        //原生php写法
        echo json_encode($res, JSON_UNESCAPED_UNICODE);
        die;
        //框架写法
        //json($res)->send();

    }
    /**
     * 成功的响应
     * @param array $data 返回数据
     * @param int $code 错误码
     * @param string $msg 错误信息
     */
    protected function ok($data = [], $code = 200, $msg = 'success')
    {
        $this->response($code, $msg, $data);
    }

    /**
     * 失败的响应
     * @param $msg 错误信息
     * @param int $code 错误码
     * @param array $data 返回数据
     */
    protected function fail($msg, $code = 500, $data = [])
    {
        $this->response($code, $msg, $data);
    }

控制器中验证表单并调用

        //参数检测(表单验证)
        $validate = $this->validate(input(), [
            'username|用户名' => 'require',
            'password|密码' => 'require',
        ]);

        if ($validate !== true) {
            //参数验证错误
            $this->fail($validate, 401);
        }

laravel7.x.x

封装通用的响应方法

    /**
     * 通用的响应
     * @param int $code 错误码
     * @param string $msg 错误信息
     * @param array $data 返回数据
     */
    protected function response($code = 200, $msg = 'success', $data = [])
    {
        return response()->json([
            'code'  => $code,
            'msg' => $msg,
            'data'  => $data,
        ]);
    }

    /**
     * 成功的响应
     * @param array $data 返回数据
     * @param int $code 错误码
     * @param string $msg 错误信息
     */
    protected function ok($data = [], $code = 200, $msg = 'success')
    {
        return $this->response($code, $msg, $data);
    }

    /**
     * 失败的响应
     * @param $msg 错误信息
     * @param int $code 错误码
     * @param array $data 返回数据
     */
    protected function fail($msg, $code = 500, $data = [])
    {
        return $this->response($code, $msg, $data);
    }

控制器中验证表单并调用

		use Illuminate\Support\Facades\Validator;

        $validator = Validator::make($request->all(),  [
            'password' => 'required|min:10',
            'username' => 'required|min:10',
        ], [
            'username.required' => '账号必须填写'
        ]);

        
        if ($validator->fails()) {//表单验证不通过
            return  $this->fail($validator->errors()->first(), 401);
        }

总结

这样两个框架验证效果就都变成一模一样了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值