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 相关文章推荐
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
php数组转成json格式的方法
Mar 09 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
如何理解PHP核心特性命名空间
May 28 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
php支付宝手机网页支付类实例
2015/03/04 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
php面向对象值单例模式
2016/05/03 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
使用python实现strcmp函数功能示例
2014/03/25 Python
Python实现批量下载文件
2015/05/17 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
python实现的汉诺塔算法示例
2019/10/23 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Python截图并保存的具体实例
2021/01/14 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
学校节能宣传周活动总结
2014/07/09 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
经典祝酒词大全
2015/08/12 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS