DemandRequest.php 2.0 KB

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