• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例

    本文实例讲述了laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作.分享给大家供大家参考,具体如下:

    通常在项目中,我们会对大量的前端提交过来的表单进行验证,如果不通过,则返回错误信息。

    前端为了更好的体验,都使用ajax进行表单提交,虽然 validate() 方法能够根据前端的不同请求方式,返回不同的结果。

    但是返回的json格式并不是我们想要的,这个时候,我们就需要自定义返回错误结果。

    先创建一个表单请求类:

    php artisan make:request TestRequest
    
    

    然后在 rules()messages() 方法里填写自已的验证规则和消息

    ?php
    namespace App\Http\Requests;
    use Illuminate\Foundation\Http\FormRequest;
    use Illuminate\Contracts\Validation\Validator;
    use Illuminate\Http\Exceptions\HttpResponseException;
    class TestRequest extends FormRequest
    {
      /**
       * 控制访问权限
       */
      public function authorize()
      {
        //注意,默认是false,改成true
        return true;
      }
      /**
       * 验证规则
       */
      public function rules()
      {
        return [
          'name' => 'required',
          'pwd' => 'required',
        ];
      }
      /**
       * 验证消息
       */
      public function messages()
      {
        return [
          'name.required' => '姓名必填',
          'pwd.required' => '密码必填',
        ];
      }
    }
    
    

    注意,父类 FormRequest中的 failedValidation() 方法用来处理验证失败,我们重写父类方法,来实现自已的返回。

    public function failedValidation(Validator $validator)
    {
      throw (new HttpResponseException(response()->json([
        'status_code' => 500,
        'message' => '请求错误',
        'data' => $validator->errors()->first(),
      ], 200)));
    }
    
    

    注意 failedValidation() 方法的 $validator 参数是 Illuminate\Contracts\Validation\Validator 对象,不是 Illuminate\Validation\Validator,不要搞错了。

    更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 如何重写Laravel异常处理类详解
    • Laravel如何实现适合Api的异常处理响应格式
    • Laravel 修改验证异常的响应格式实例代码详解
    • Laravel 解决composer相关操作提示php相关异常的问题
    • Laravel 5.5 异常处理 & 错误日志的解决
    • 解决laravel 表单提交-POST 异常的问题
    • laravel框架 api自定义全局异常处理方法
    • Laravel核心解读之异常处理的实践过程
    • 浅谈Laravel中使用Slack进行异常通知
    上一篇:PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
    下一篇:laravel框架select2多选插件初始化默认选中项操作示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例 laravel,框架,使用,FormRequest,