DemandRequest.php 2.1 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|file|image'
  21. ];
  22. protected $uploadFileApiMessage = [
  23. 'file.required' => '请选择上传文件',
  24. 'file.file' => '未选择上传文件',
  25. 'file.image' => '上传文件需为图片',
  26. ];
  27. protected $destroyApiRules = ['id' => 'required'];
  28. protected $destroyApiMessage = ['id.required' => 'id不能为空'];
  29. public function authorize(): bool
  30. {
  31. return true;
  32. }
  33. public function rules(): array
  34. {
  35. $routeName = Route::currentRouteName();
  36. switch ($routeName) {
  37. case 'demand.storeApi':
  38. return $this->storeApiRules;
  39. case 'demand.updateApi':
  40. return $this->updateApiRules;
  41. case 'demand.uploadFileApi':
  42. return $this->uploadFileApiRules;
  43. case 'demand.destroyApi':
  44. return $this->destroyApiRules;
  45. default :
  46. return [];
  47. }
  48. }
  49. public function messages(): array
  50. {
  51. $routeName = Route::currentRouteName();
  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. }