CreateValidate.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace app\validate\api\store\order;
  3. use app\Request;
  4. use think\facade\Log;
  5. use think\Validate;
  6. class CreateValidate extends Validate
  7. {
  8. protected $request;
  9. public function __construct(Request $request)
  10. {
  11. $this->request = $request;
  12. parent::__construct();
  13. }
  14. protected $rule = [
  15. 'cart_id' => 'require|integer',
  16. 'fzone_paytype' => 'require|json',
  17. 'address_id' => 'require|integer|gt:0',
  18. 'pay_type' => 'require|integer',
  19. 'share_id' => 'integer', // share_id 变为非必填项
  20. ];
  21. protected $message = [
  22. 'cart_id.require' => '购物车ID不能为空!',
  23. 'cart_id.integer' => '购物车ID必须是整数!',
  24. 'fzone_paytype.require' => '支付方式不能为空!',
  25. 'fzone_paytype.json' => '支付方式必须是有效的JSON格式!',
  26. 'address_id.require' => '地址ID不能为空!',
  27. 'address_id.integer' => '地址ID必须是整数!',
  28. 'address_id.gt' => '地址ID必须大于0!',
  29. 'pay_type.require' => '支付方式不能为空!',
  30. 'pay_type.integer' => '支付方式类型错误!',
  31. 'share_id.integer' => 'share_id 必须是整数!', // 错误信息,适用于share_id
  32. ];
  33. /**
  34. * 将Request参数获取与验证封装到验证类中
  35. *
  36. * @return array
  37. */
  38. public function validateRequest(): array
  39. {
  40. $data = $this->request->post();
  41. Log::info('request-api-store-order-create-params:' . json_encode($data));
  42. if (!$this->check($data)) {
  43. return ['status' => 'error', 'message' => $this->getError()];
  44. }
  45. return ['status' => 'success', 'data' => $data];
  46. }
  47. }