Rank.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的多应用管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace addon\mall\app\validate\goods;
  12. use addon\mall\app\dict\goods\RankDict;
  13. use core\base\BaseValidate;
  14. /**
  15. * 商品排行榜验证器
  16. * Class Brand
  17. * @package addon\mall\app\validate\goods
  18. */
  19. class Rank extends BaseValidate
  20. {
  21. protected $rule = [
  22. 'name' => 'require',
  23. 'banner' => 'require',
  24. 'rank_type' => 'require|in:day,week,month,quarter',
  25. 'goods_source' => 'require|in:goods,category,brand,label,all',
  26. 'rule_type' => 'require|in:sale,collect,evaluate,access',
  27. 'goods_json' => 'checkGoodsSource',
  28. 'category_ids' => 'checkGoodsSource',
  29. 'brand_ids' => 'checkGoodsSource',
  30. 'label_ids' => 'checkGoodsSource',
  31. ];
  32. protected $message = [
  33. 'name.require' => [ 'common_validate.require', [ 'name' ] ],
  34. 'banner.require' => [ 'common_validate.require', [ 'banner' ] ],
  35. 'rank_type.require' => [ 'common_validate.require', [ 'rank_type' ] ],
  36. 'goods_source.require' => [ 'common_validate.require', [ 'goods_source' ] ],
  37. 'rule_type.require' => [ 'common_validate.require', [ 'rule_type' ] ],
  38. ];
  39. protected $scene = [
  40. "add" => [ 'name', 'rank_type', 'goods_source', 'rule_type', 'goods_json', 'category_ids', 'brand_ids', 'label_ids', 'sort','status'],
  41. "edit" => [ 'name', 'rank_type', 'goods_source', 'rule_type', 'goods_json', 'category_ids', 'brand_ids', 'label_ids', 'sort','status']
  42. ];
  43. // 自定义验证规则
  44. protected function checkGoodsSource($value, $rule, $data=[])
  45. {
  46. if ($data['goods_source'] == RankDict::GOODS) {
  47. if (empty($data['goods_json'])) {
  48. return 'goods_json不能为空';
  49. }
  50. return true;
  51. }
  52. if ($data['goods_source'] == RankDict::CATEGORY) {
  53. if (empty($data['category_ids'])) {
  54. return 'category_ids不能为空';
  55. }
  56. return true;
  57. }
  58. if ($data['goods_source'] == RankDict::BRAND) {
  59. if (empty($data['brand_ids'])) {
  60. return 'brand_ids不能为空';
  61. }
  62. return true;
  63. }
  64. if ($data['goods_source'] == RankDict::LABEL) {
  65. if (empty($data['label_ids'])) {
  66. return 'label_ids不能为空';
  67. }
  68. return true;
  69. }
  70. if ($data['goods_source'] == RankDict::ALL) {
  71. return true;
  72. }
  73. }
  74. }