ListsValidate.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop100%开源免费商用商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | 商业版本务必购买商业授权,以免引起法律纠纷
  8. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  9. // | gitee下载:https://gitee.com/likeshop_gitee
  10. // | github下载:https://github.com/likeshop-github
  11. // | 访问官网:https://www.likeshop.cn
  12. // | 访问社区:https://home.likeshop.cn
  13. // | 访问手册:http://doc.likeshop.cn
  14. // | 微信公众号:likeshop技术社区
  15. // | likeshop团队 版权所有 拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshopTeam
  18. // +----------------------------------------------------------------------
  19. namespace app\common\validate;
  20. use think\facade\Config;
  21. /**
  22. * 列表参数验证
  23. * Class ListsValidate
  24. * @package app\common\validate
  25. */
  26. class ListsValidate extends BaseValidate
  27. {
  28. protected $rule = [
  29. 'page_no' => 'integer|gt:0',
  30. 'page_size' => 'integer|gt:0|pageSizeMax',
  31. 'page_start' => 'integer|gt:0',
  32. 'page_end' => 'integer|gt:0|egt:page_start',
  33. 'page_type' => 'in:0,1',
  34. 'order_by' => 'in:desc,asc',
  35. 'start_time' => 'date',
  36. 'end_time' => 'date|gt:start_time',
  37. 'start' => 'number',
  38. 'end' => 'number',
  39. 'export' => 'in:1,2',
  40. ];
  41. protected $message = [
  42. 'page_end.egt' => '导出范围设置不正确,请重新选择',
  43. 'end_time.gt' => '搜索的时间范围不正确',
  44. ];
  45. /**
  46. * @notes 查询数据量判断
  47. * @param $value
  48. * @param $rule
  49. * @param $data
  50. * @return bool
  51. * @author 令狐冲
  52. * @date 2021/7/30 15:13
  53. */
  54. public function pageSizeMax($value, $rule, $data)
  55. {
  56. $pageSizeMax = Config::get('project.lists.page_size_max');
  57. if ($pageSizeMax < $value) {
  58. return '已超出系统限制数量,请分页查询或导出,' . '当前最多记录数为:' . $pageSizeMax;
  59. }
  60. return true;
  61. }
  62. }