DemandRequest.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace App\Http\Requests\Demand;
  3. use App\Traits\RequestApiFormValidation;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Support\Facades\Request;
  6. use Illuminate\Support\Facades\Route;
  7. class DemandRequest extends FormRequest
  8. {
  9. use RequestApiFormValidation;
  10. protected $storeApiRules = [
  11. 'description' => 'required',
  12. 'type' => 'required|integer',
  13. ];
  14. protected $storeApiMessage = [
  15. 'description.required' => '需求描述为必填项',
  16. 'type.required' => '需求类型为必填项',
  17. ];
  18. protected $updateApiRules = [];
  19. protected $updateApiMessage = [];
  20. protected $uploadFileApiRules = [
  21. 'file' => 'required|file|image'
  22. ];
  23. protected $uploadFileApiMessage = [
  24. 'file.required' => '请选择上传文件',
  25. 'file.file' => '未选择上传文件',
  26. 'file.image' => '上传文件需为图片',
  27. ];
  28. protected $destroyApiRules = ['id' => 'required'];
  29. protected $destroyApiMessage = ['id.required' => 'id不能为空'];
  30. public function authorize(): bool
  31. {
  32. return true;
  33. }
  34. public function rules(): array
  35. {
  36. dd(Request::all());
  37. $routeName = Route::currentRouteName();
  38. switch ($routeName) {
  39. case 'demand.storeApi':
  40. return $this->storeApiRules;
  41. case 'demand.updateApi':
  42. return $this->updateApiRules;
  43. case 'demand.uploadFileApi':
  44. return $this->uploadFileApiRules;
  45. case 'demand.destroyApi':
  46. return $this->destroyApiRules;
  47. default :
  48. return [];
  49. }
  50. }
  51. public function messages(): array
  52. {
  53. $routeName = Route::currentRouteName();
  54. switch ($routeName) {
  55. case 'demand.storeApi':
  56. return $this->storeApiMessage;
  57. case 'demand.updateApi':
  58. return $this->updateApiMessage;
  59. case 'demand.uploadFileApi':
  60. return $this->uploadFileApiMessage;
  61. case 'demand.destroyApi':
  62. return $this->destroyApiMessage;
  63. default :
  64. return [];
  65. }
  66. }
  67. }