ListNearbyCoachRequest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Http\Requests\Client\Coach;
  3. use Illuminate\Foundation\Http\FormRequest;
  4. class ListNearbyCoachRequest extends FormRequest
  5. {
  6. /**
  7. * 确定用户是否有权发起此请求
  8. */
  9. public function authorize(): bool
  10. {
  11. return true;
  12. }
  13. /**
  14. * 获取适用于请求的验证规则
  15. *
  16. * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
  17. */
  18. public function rules(): array
  19. {
  20. return [
  21. 'latitude' => 'required|numeric|between:-90,90',
  22. 'longitude' => 'required|numeric|between:-180,180',
  23. 'page' => 'nullable|integer|min:1',
  24. 'per_page' => 'nullable|integer|min:1|max:50'
  25. ];
  26. }
  27. /**
  28. * 获取已定义验证规则的错误消息
  29. */
  30. public function messages(): array
  31. {
  32. return [
  33. 'latitude.required' => '纬度不能为空',
  34. 'latitude.numeric' => '纬度必须是数字',
  35. 'latitude.between' => '纬度必须在 -90 到 90 之间',
  36. 'longitude.required' => '经度不能为空',
  37. 'longitude.numeric' => '经度必须是数字',
  38. 'longitude.between' => '经度必须在 -180 到 180 之间',
  39. 'page.integer' => '页码必须是整数',
  40. 'page.min' => '页码不能小于1',
  41. 'per_page.integer' => '每页数量必须是整数',
  42. 'per_page.min' => '每页数量不能小于1',
  43. 'per_page.max' => '每页数量不能超过50'
  44. ];
  45. }
  46. }