Orders.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. ];
  35. /**
  36. * 获取已定义验证规则的错误消息
  37. *
  38. * @return array
  39. */
  40. public function messages()
  41. {
  42. return [
  43. 'product_list.required' => '请选择需下单产品',
  44. 'product_list.json' => '下单产品数据格式有误',
  45. 'addr_id.required' => '请选择收货地址',
  46. ];
  47. }
  48. }