截流自动化的商城平台
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

CommunityTopicValidate.php 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace app\admin\validate\community;
  3. use app\common\basics\Validate;
  4. use app\common\model\community\CommunityTopic;
  5. /**
  6. * 种草社区话题验证
  7. * Class CommunityTopicValidate
  8. * @package app\admin\validate\community
  9. */
  10. class CommunityTopicValidate extends Validate
  11. {
  12. protected $rule = [
  13. 'id' => 'require|number',
  14. 'name' => 'require|max:12|unique:' . CommunityTopic::class . ',name^del',
  15. 'image' => 'require',
  16. 'cid' => 'require|number',
  17. 'is_show' => 'require|in:0,1',
  18. 'is_recommend' => 'require|in:0,1',
  19. 'sort' => 'egt:0',
  20. 'field' => 'require|checkUpdateField',
  21. 'value' => 'require|in:0,1',
  22. ];
  23. protected $message = [
  24. 'id.require' => 'id不可为空',
  25. 'id.number' => 'id必须为数字',
  26. 'name.require' => '请填写话题名称',
  27. 'name.max' => '话题名称长度不能超过12位',
  28. 'name.unique' => '话题名称已存在',
  29. 'image.require' => '请选择话题图标',
  30. 'cid.require' => '请选择关联分类',
  31. 'is_recommend.require' => '请选择是否推荐',
  32. 'is_recommend.in' => '推荐状态异常',
  33. 'is_show.require' => '请选择是否显示',
  34. 'is_show.in' => '显示状态异常',
  35. 'sort.egt' => '请填写大于等于0的排序值',
  36. 'field.egt' => '参数缺失',
  37. 'value.egt' => '参数缺失',
  38. 'value.in' => '状态值异常',
  39. ];
  40. protected $scene = [
  41. 'id' => ['id'],
  42. 'status' => ['id', 'field', 'value'],
  43. 'add' => ['name', 'image', 'cid', 'is_recommend', 'is_show', 'sort'],
  44. 'edit' => ['id', 'name', 'image', 'cid', 'is_recommend', 'is_show', 'sort']
  45. ];
  46. /**
  47. * @notes 校验更新字段
  48. * @param $value
  49. * @param $rule
  50. * @param $data
  51. * @return bool|string
  52. * @author 段誉
  53. * @date 2022/4/28 15:13
  54. */
  55. protected function checkUpdateField($value, $rule, $data)
  56. {
  57. $allow_field = ['is_show', 'is_recommend'];
  58. if (in_array($value, $allow_field)) {
  59. return true;
  60. }
  61. return '非法字段';
  62. }
  63. }