dingo 内部调用时使用 laravel 的表单验证问题

发布于 2022-09-11 20:23:31 字数 998 浏览 22 评论 0

  1. dingo 中内部接口调用, 当使用 laravel (版本 5.5) 表单验证时, 接口会一直报出 422 状态码错误。
  2. 相关代码如下:

    • 业务逻辑:提交体验课时创建一个学员
    • 相关控制器代码如下:

      - 提交体验课
          ```php
          $request->validate([
              'phone' => ['required', 'regex:/^1[3456789]\d{9}$/'],
              'name' => ['required'],
          ]);
          
          // 调用创建学员接口
          $this->api->with($request->all())->post('/api/students');
          ```
      
      - 创建学员
          ```php
          $request->validate([
              'phone' => ['required', Rule::unique('students', 'phone')],
              'datasoure' => ['required'],
          ]);
          ```
  3. 接口返回:

    "message": "422 Unprocessable Entity",
    "status_code": 422,
  4. 体验课提交 接口验证可以通过, 创建学员 接口验证通不过; 依赖注入时的是 Illuminate\Http\Request 对象; 但是发现 dingo 内部调用时实例化后的是 InternalRequest 对象; 但是实则是继承关系; 希望得到解决方法. 谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文