EditTableValidate.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\adminapi\validate\tools;
  15. use app\common\model\tools\GenerateTable;
  16. use app\common\validate\BaseValidate;
  17. /**
  18. * 编辑表验证
  19. * Class EditTableValidate
  20. * @package app\adminapi\validate\tools
  21. */
  22. class EditTableValidate extends BaseValidate
  23. {
  24. protected $rule = [
  25. 'id' => 'require|checkTableData',
  26. 'table_name' => 'require',
  27. 'table_comment' => 'require',
  28. 'template_type' => 'require|in:0,1',
  29. 'generate_type' => 'require|in:0,1',
  30. 'module_name' => 'require',
  31. 'table_column' => 'require|array|checkColumn',
  32. ];
  33. protected $message = [
  34. 'id.require' => '表id缺失',
  35. 'table_name.require' => '请填写表名称',
  36. 'table_comment.require' => '请填写表描述',
  37. 'template_type.require' => '请选择模板类型',
  38. 'template_type.in' => '模板类型参数错误',
  39. 'generate_type.require' => '请选择生成方式',
  40. 'generate_type.in' => '生成方式类型错误',
  41. 'module_name.require' => '请填写模块名称',
  42. 'table_column.require' => '表字段信息缺失',
  43. 'table_column.array' => '表字段信息类型错误',
  44. ];
  45. /**
  46. * @notes 校验当前数据表是否存在
  47. * @param $value
  48. * @param $rule
  49. * @param $data
  50. * @return bool|string
  51. * @author 段誉
  52. * @date 2022/6/15 18:58
  53. */
  54. protected function checkTableData($value, $rule, $data)
  55. {
  56. $table = GenerateTable::findOrEmpty($value);
  57. if ($table->isEmpty()) {
  58. return '信息不存在';
  59. }
  60. return true;
  61. }
  62. /**
  63. * @notes 校验表字段参数
  64. * @param $value
  65. * @param $rule
  66. * @param $data
  67. * @return bool|string
  68. * @author 段誉
  69. * @date 2022/6/20 10:42
  70. */
  71. protected function checkColumn($value, $rule, $data)
  72. {
  73. foreach ($value as $item) {
  74. if (!isset($item['id'])) {
  75. return '表字段id参数缺失';
  76. }
  77. if (!isset($item['query_type'])) {
  78. return '请选择查询方式';
  79. }
  80. if (!isset($item['view_type'])) {
  81. return '请选择显示类型';
  82. }
  83. }
  84. return true;
  85. }
  86. }