Orders.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php namespace App\Http\Requests\Api;
  2. use App\Http\Requests\BaseRequest;
  3. use App\Rules\JsonArray;
  4. /**
  5. * 订单验证器
  6. *
  7. */
  8. class Orders extends BaseRequest
  9. {
  10. /**
  11. * 获取应用于请求的规则
  12. *
  13. * @return array
  14. */
  15. public function rules()
  16. {
  17. // 编辑时排除ID
  18. // 返回结果
  19. return [
  20. // 有时候我们希望某个字段在第一次验证失败后就停止运行验证规则,只需要将 bail 添加到规则中:
  21. // 验证字段,验证规则,提示信息
  22. // 'name' => 'string|max:20',
  23. 'id' => 'required|integer|gt:0',
  24. // 产品信息
  25. 'product_list' => ['required','json',new JsonArray(['product_id'=>'required|numeric|gt:0','product_skuid'=>'numeric|gte:0','buy_num'=>'required|integer|gte:0'])],
  26. // 下单地址
  27. 'addr_id' => 'required|integer|gt:0',
  28. ];
  29. }
  30. // 场景列表
  31. protected $scenes = [
  32. 'get_list' => [],
  33. 'create' => ['product_list','addr_id'],
  34. 'cancel' => ['id'],
  35. 'get_item' => ['id'],
  36. 'get_detail' => ['id'],
  37. ];
  38. /**
  39. * 获取已定义验证规则的错误消息
  40. *
  41. * @return array
  42. */
  43. public function messages()
  44. {
  45. return [
  46. 'id.required' => '请选择订单',
  47. 'id.integer' => '请选择订单',
  48. 'id.gt' => '请选择订单',
  49. 'product_list.required' => '请选择需下单产品',
  50. 'product_list.json' => '下单产品数据格式有误',
  51. 'addr_id.required' => '请选择收货地址',
  52. ];
  53. }
  54. }