MaterialRequest.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Http\Requests\Material;
  3. use App\Traits\RequestApiFormValidation;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Support\Facades\Route;
  6. class MaterialRequest extends FormRequest
  7. {
  8. use RequestApiFormValidation;
  9. public function authorize(): bool
  10. {
  11. return true;
  12. }
  13. protected $storeApiRules =[
  14. 'name' => 'required',
  15. 'code' => 'required',
  16. ];
  17. protected $storeApiMessage = [
  18. 'name.required' => '耗材类型名称为必填项',
  19. 'code.required' => '编号为必填项'
  20. ];
  21. protected $updateApiRules = [
  22. 'name' => 'required',
  23. 'code' => 'required',
  24. 'id' => 'required'
  25. ];
  26. protected $updateApiMessage = [
  27. 'name.required' => '名称不能为空',
  28. 'code.required' => '编号不能为空',
  29. 'id.required' => '未选中耗材类型',
  30. ];
  31. public function rules():array
  32. {
  33. $routeName = Route::currentRouteName();
  34. switch ($routeName){
  35. case 'material.storeApi':
  36. return $this->storeApiRules;
  37. case 'material.updateApi':
  38. return $this->updateApiRules;
  39. default:
  40. return [];
  41. }
  42. }
  43. public function messages():array
  44. {
  45. $routeName = Route::currentRouteName();
  46. switch ($routeName){
  47. case 'material.storeApi':
  48. return $this->storeApiMessage;
  49. case 'material.updateApi':
  50. return $this->updateApiMessage;
  51. default:
  52. return [];
  53. }
  54. }
  55. }