GoodsValidate.php 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\admin\validate\goods;
  3. use think\Validate;
  4. class GoodsValidate extends Validate
  5. {
  6. protected $rule = [
  7. 'goods_id' => 'require|alphaDash',
  8. 'join_goods_category_id' => 'require|integer',
  9. 'join_goods_device_id' => 'max:32',
  10. 'goods_classify' => 'require|in:GOODS,DEVICE,SERVICE,SPECIAL,PACKAGE,OTHER', // GOODS=实物商品|DEVICE=设备|SERIVCE=服务|SPECIAL=专题业务|PACKAGE=套包|OTHER=其他
  11. 'goods_status' => 'require|in:PENDING,ON,OFF,DISABLED', // 产品状态 PENDING=待处理|ON=上架(已激活)|OFF=下架|DISABLED=已禁用
  12. 'goods_category' => 'require|max:32',
  13. 'goods_prefix' => 'max:64 ',
  14. 'goods_name' => 'require|max:32',
  15. 'goods_market_price' => 'float',
  16. 'goods_sales_price' => 'float',
  17. 'goods_sku_json' => 'isJson',
  18. 'goods_attribute_json' => 'isJson',
  19. 'goods_service_json' => 'isJson',
  20. 'goods_title' => 'max:128',
  21. 'goods_cover' => 'require|regex:/^[0-9a-zA-Z\.\/]+$/',
  22. 'goods_on_addtimes' => 'date',
  23. 'goods_sort' => 'integer',
  24. 'goods_groupby' => 'max:32;',
  25. 'goods_extend_json' => 'isJson',
  26. 'goods_slide' => 'regex:/^[0-9a-zA-Z\.\/\,]+$/',
  27. 'goods_specs_json' => 'isJson',
  28. // 'goods_content' => '',
  29. 'goods_label' => 'max:32',
  30. // 'goods_label_extend_json' => '',
  31. 'goods_storage' => 'float',
  32. 'goods_sale' => 'float',
  33. 'goods_running_off_type' => 'require|in:H,T',
  34. 'goods_running_off_json' => 'isJson',
  35. 'goods_sku_status' => 'in:PENDING,ON,OFF,DISABLED', // 产品sku状态 PENDING=待启用|ON=上架|OFF=下架|DISABLED=已禁用
  36. 'goods_sku_specs_json' => 'isJson',
  37. 'goods_sku_title' => 'max:64',
  38. 'goods_sku_images_json' => 'isJson',
  39. // 'goods_sku_content' => '',
  40. 'goods_sku_market_price' => 'float',
  41. 'goods_sku_sales_price' => 'float',
  42. 'goods_sku_storage_json' => 'isJson',
  43. 'goods_sku_service_json' => 'isJson',
  44. 'goods_sku_extend_json' => 'isJson',
  45. ];
  46. protected $message = [];
  47. protected $scene = [
  48. 'add' => ['join_goods_category_id', 'join_goods_device_id', 'goods_classify', 'goods_status', 'goods_category', 'goods_prefix',
  49. 'goods_name', 'goods_market_price', 'goods_sku_json', 'goods_attribute_json', 'goods_service_json', 'goods_title',
  50. 'goods_cover', 'goods_on_addtimes', 'goods_sort', 'goods_groupby', 'goods_extend_json', 'goods_slide', 'goods_specs_json',
  51. 'goods_label', 'goods_storage', 'goods_sale', 'goods_running_off_type', 'goods_running_off_json', 'goods_sku_status',
  52. 'goods_sku_specs_json', 'goods_sku_title', 'goods_sku_images_json', 'goods_sku_market_price', 'goods_sku_sales_price',
  53. 'goods_sku_storage_json', 'goods_sku_service_json', 'goods_sku_extend_json'],
  54. 'update' => ['goods_id', 'join_goods_category_id', 'join_goods_device_id', 'goods_classify', 'goods_status', 'goods_category', 'goods_prefix',
  55. 'goods_name', 'goods_market_price', 'goods_sku_json', 'goods_attribute_json', 'goods_service_json', 'goods_title',
  56. 'goods_cover', 'goods_on_addtimes', 'goods_sort', 'goods_groupby', 'goods_extend_json', 'goods_slide', 'goods_specs_json',
  57. 'goods_label', 'goods_storage', 'goods_sale', 'goods_running_off_type', 'goods_running_off_json', 'goods_sku_status',
  58. 'goods_sku_specs_json', 'goods_sku_title', 'goods_sku_images_json', 'goods_sku_market_price', 'goods_sku_sales_price',
  59. 'goods_sku_storage_json', 'goods_sku_service_json', 'goods_sku_extend_json'],
  60. ];
  61. /**
  62. * @Desc Json数据验证
  63. * @Author Gorden
  64. * @Date 2024/3/11 14:55
  65. *
  66. * @param $value
  67. * @return string|true
  68. */
  69. public function isJson($value)
  70. {
  71. if (is_json($value)) {
  72. return true;
  73. }
  74. return "数据格式错误";
  75. }
  76. }