SupplierRequest.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Http\Requests\Supplier;
  3. use App\Traits\RequestApiFormValidation;
  4. use Illuminate\Foundation\Http\FormRequest;
  5. use Illuminate\Support\Facades\Route;
  6. class SupplierRequest extends FormRequest
  7. {
  8. use RequestApiFormValidation;
  9. protected $storeApiRules = [
  10. 'name' => 'required',
  11. 'contact_man' => 'required',
  12. 'phone' => 'required|numeric',
  13. 'invoice_title' => 'required',
  14. 'bank' => 'required',
  15. 'bank_account' => 'required',
  16. 'opening_bank' => 'required',
  17. 'material_id'=> 'required'
  18. ];
  19. protected $storeApiMessage = [
  20. 'name.required' => '供应商能为必填项',
  21. 'contact_man.required' => '联系人为必填项',
  22. 'phone.required' => '联系电话为必填项',
  23. 'phone.numeric' => '联系电话必须由数字组成',
  24. 'invoice_title.required' => '发票抬头为必填项',
  25. 'bank.required' => '账户银行为必填项',
  26. 'bank_account.required' => '收款账号为必填项',
  27. 'opening_bank.required' => '开户行为必填项',
  28. 'material_id.required' => '耗材类型为必选项',
  29. ];
  30. protected $updateApiRules = [
  31. 'name' => 'required',
  32. 'contact_man' => 'required',
  33. 'phone' => 'required|numeric',
  34. 'invoice_title' => 'required',
  35. 'bank' => 'required',
  36. 'bank_account' => 'required',
  37. 'opening_bank' => 'required',
  38. 'material_id'=> 'required'
  39. ];
  40. protected $updateMessage = [
  41. 'name.required' => '供应商能为必填项',
  42. 'contact_man.required' => '联系人为必填项',
  43. 'phone.required' => '联系电话为必填项',
  44. 'phone.numeric' => '联系电话必须由数字组成',
  45. 'invoice_title.required' => '发票抬头为必填项',
  46. 'bank.required' => '账户银行为必填项',
  47. 'bank_account.required' => '收款账号为必填项',
  48. 'opening_bank.required' => '开户行为必填项',
  49. 'material_id.required' => '耗材类型为必选项',
  50. ];
  51. public function authorize(): bool
  52. {
  53. return true;
  54. }
  55. public function rules(): array
  56. {
  57. $routeName = Route::currentRouteName();
  58. switch ($routeName) {
  59. case 'supplier.storeApi':
  60. return $this->storeApiRules;
  61. case 'supplier.updateApi':
  62. return $this->updateApiRules;
  63. default:
  64. return [];
  65. }
  66. }
  67. public function messages(): array
  68. {
  69. $routeName = Route::currentRouteName();
  70. switch ($routeName) {
  71. case 'supplier.storeApi':
  72. return $this->storeApiMessage;
  73. case 'supplier.updateApi':
  74. return $this->updateMessage;
  75. default:
  76. return [];
  77. }
  78. }
  79. }