ApplyCoachRequest.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Http\Requests\Client\User;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. class ApplyCoachRequest extends FormRequest
  5. {
  6. public function authorize(): bool
  7. {
  8. return true;
  9. }
  10. public function rules(): array
  11. {
  12. return [
  13. 'age' => [
  14. 'required',
  15. 'integer',
  16. 'min:18',
  17. 'max:60',
  18. ],
  19. 'mobile' => [
  20. 'required',
  21. 'string',
  22. 'regex:/^1[3-9]\d{9}$/',
  23. ],
  24. 'gender' => [
  25. 'required',
  26. 'integer',
  27. 'in:1,2',
  28. ],
  29. 'work_years' => [
  30. 'required',
  31. 'integer',
  32. 'min:0',
  33. 'max:50',
  34. ],
  35. 'intention_city' => [
  36. 'required',
  37. 'string',
  38. 'max:50',
  39. ],
  40. 'portrait_images' => [
  41. 'required',
  42. 'array',
  43. 'min:1',
  44. 'max:6',
  45. ],
  46. 'portrait_images.*' => [
  47. 'required',
  48. 'string',
  49. 'url',
  50. ],
  51. 'description' => [
  52. 'nullable',
  53. 'string',
  54. 'max:1000',
  55. ],
  56. ];
  57. }
  58. public function messages(): array
  59. {
  60. return [
  61. 'age.required' => '年龄不能为空',
  62. 'age.integer' => '年龄必须是整数',
  63. 'age.min' => '年龄不能小于18岁',
  64. 'age.max' => '年龄不能大于60岁',
  65. 'mobile.required' => '手机号不能为空',
  66. 'mobile.regex' => '手机号格式不正确',
  67. 'gender.required' => '性别不能为空',
  68. 'gender.in' => '性别只能是1(男)或2(女)',
  69. 'work_years.required' => '工作年限不能为空',
  70. 'work_years.integer' => '工作年限必须是整数',
  71. 'work_years.min' => '工作年限不能小于0年',
  72. 'work_years.max' => '工作年限不能超过50年',
  73. 'intention_city.required' => '意向城市不能为空',
  74. 'intention_city.max' => '意向城市不能超过50个字符',
  75. 'portrait_images.required' => '形象照片不能为空',
  76. 'portrait_images.array' => '形象照片必须是数组',
  77. 'portrait_images.min' => '至少上传1张形象照片',
  78. 'portrait_images.max' => '最多上传6张形象照片',
  79. 'portrait_images.*.required' => '形象照片不能为空',
  80. 'portrait_images.*.url' => '形象照片必须是有效的URL地址',
  81. 'description.max' => '个人介绍不能超过1000个字符',
  82. ];
  83. }
  84. }