MenuRequest.php 1.9 KB

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