laravel http 自定义公共验证和响应的方法


Posted in PHP onSeptember 29, 2019

我就废话不多说了,直接上代码吧,大家一起来看看

<?php

namespace App\Services;
use Validator;

class Http
{

  /***
   * 响应成功返回的函数
   *
   * @param $message
   * @param $content
   * @param int $status
   * @return \Illuminate\Http\JsonResponse
   * @internal param $data
   */
  public function success($message,$content="",$status=200)
  {
    if(is_array($content)&&count($content)<1){
      $data['content']=$content;
      $data['code']=0;
      $data['msg']="数据不存在";
      return response()->json($data,$status);
    }
    $data['content']=$content;
    $data['code']=1;
    $data['msg']=$message;
    return response()->json($data,$status);
  }

  /***
   * 响应错误返回的函数
   *
   * @param $message
   * @param int $status
   * @return \Illuminate\Http\JsonResponse
   */
  public function error($message,$status=200)
  {
    $data['code']=0;
    $data['msg']=$message;
    return response()->json($data,$status);
  }


  /***
   * 响应错误返回的函数
   *
   * @param $message
   * @param $content
   * @param int $status
   * @return \Illuminate\Http\JsonResponse
   */
  public function errorWithData($message,$content,$status=200)
  {
    $data['code']=0;
    $data['data']=$content;
    $data['msg']=$message;
    return response()->json($data,$status);
  }

  /***
   * 验证字段属性
   *
   * @param $all
   * @param $rules
   * @param bool $message
   * @return array|bool|string
   */
  public function validate($all,$rules,$message=false){
    if(!$message){
      $message=$this->getMessage();
    }
    $validator = Validator::make($all, $rules,$message);
    if ($validator->fails()) {
      $array = array_flatten($validator->errors()->toArray());
      $message=implode(' ',$array);
      return $message;
    }
    return false;
  }

  /***
   * 返回验证message
   * @return array
   */
  public function getMessage(){
    return [
      'required' => '字段 :attribute 是必须的.',
      'unique' => '该数据已经存在.',
      'between' => '字段 :attribute 必须在 :min - :max.之间',
    ];
  }

}

以上这篇laravel http 自定义公共验证和响应的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个颜色轮换的简单例子
Oct 09 PHP
PHP生成静态页
Nov 25 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
神盾加密解密教程(三)PHP 神盾解密工具
Jun 08 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
Jun 16 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 #PHP
laravel 验证错误信息到 blade模板的方法
Sep 29 #PHP
php写app用的框架整理
Sep 29 #PHP
php使用json-schema模块实现json校验示例
Sep 28 #PHP
php中文语义分析实现方法示例
Sep 28 #PHP
PHP迭代器和生成器用法实例分析
Sep 28 #PHP
php实现的数组转xml案例分析
Sep 28 #PHP
You might like
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
使用Python实现简单的服务器功能
2017/08/25 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python-for循环的内部机制
2020/06/12 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
微观世界观后感
2015/06/10 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
图神经网络GNN算法
2022/05/11 Python