MenuRequest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/3/20 14:54
  7. */
  8. namespace App\Http\Requests\Backend\Server\System;
  9. use App\Http\Requests\Request;
  10. use Illuminate\Foundation\Http\FormRequest;
  11. use Illuminate\Support\Facades\Route;
  12. use Illuminate\Validation\Rule;
  13. class MenuRequest extends FormRequest
  14. {
  15. /**
  16. * Get the validation rules that apply to the request.
  17. *
  18. * @return array<string, array|string>
  19. */
  20. public function rules(): array
  21. {
  22. $rules = [
  23. 'name' => ['bail', 'required', 'string', 'max:50'],
  24. 'permission' => ['bail', 'nullable', 'string', 'max:100'],
  25. 'type' => ['bail', 'required', 'integer', Rule::in([1, 2, 3])],
  26. 'sort' => ['bail', 'integer'],
  27. 'parentId' => ['bail', 'integer'],
  28. 'path' => ['bail', 'nullable', 'string', 'max:200'],
  29. 'icon' => ['bail', 'nullable', 'string', 'max:100'],
  30. 'component' => ['bail', 'nullable', 'string', 'max:255'],
  31. 'componentName' => ['bail', 'nullable', 'string', 'max:255'],
  32. 'status' => ['bail', 'integer'],
  33. 'visible' => ['bail', 'bool'],
  34. 'keepAlive' => ['bail', 'bool'],
  35. 'alwaysShow' => ['bail', 'bool'],
  36. //uniquewith-validator
  37. //Rule::unique('users')->ignore($user->id),
  38. // unique:table,column,except,idColumn
  39. // Rule::unique('facilities', 'name')->ignoreModel(Facility::find($this->request->get('id')))
  40. ];
  41. $actionName = last(explode('@', Route::current()->getActionName()));
  42. if ($actionName === 'store') {
  43. // $rules['name'] = 'required|unique:roles,name';
  44. }
  45. return $rules;
  46. }
  47. public function messages(): array
  48. {
  49. return [
  50. 'name.required' => '请输入菜单名称!',
  51. 'type.required' => '请选择菜单类型!',
  52. 'type.in' => '菜单类型错误!',
  53. '*' => '1参数错误!'
  54. ];
  55. }
  56. }