StoreRequest.php 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * 对于后台提交的数据进行验证类
  4. *
  5. * @author fzs
  6. * @Time: 2017/07/14 15:57
  7. * @version 1.0 版本号
  8. */
  9. namespace App\Http\Requests;
  10. use Illuminate\Foundation\Http\FormRequest;
  11. class StoreRequest extends FormRequest
  12. {
  13. public function authorize()
  14. {
  15. return true;
  16. }
  17. public function rules()
  18. {
  19. $rules = [];
  20. switch (request()->getPathInfo()) {
  21. case '/menus':
  22. $rules['category'] = 'required';
  23. if($mid = request()->input('id'))$rules['name'] = 'required|alpha|between:2,12|unique:admin_menus,title,'.$mid;
  24. else $rules['name'] = 'required|alpha|between:2,12|unique:admin_menus,title';
  25. $rules['order'] = 'required|numeric';
  26. $rules['icon'] = 'required';
  27. $rules['uri'] = 'required|max:12';
  28. $rules['roles'] = 'required';
  29. break;
  30. case '/users':
  31. $rules['email'] = 'required';
  32. $rules['csr'] = 'required';
  33. $rules['IssuerID'] = 'required';
  34. $rules['miyaoID'] = 'required';
  35. $rules['p8'] = 'required';
  36. //$rules['user_role'] = 'required|numeric';
  37. break;
  38. case '/roles':
  39. if($rid = request()->input('id')){
  40. $rules['role_remark'] = 'required|between:2,12|alpha|unique:admin_roles,name,'.$rid;
  41. $rules['role_name'] = 'required|between:2,12|unique:admin_roles,display_name,'.$rid;
  42. }else{
  43. $rules['role_remark'] = 'required|between:2,12|alpha|unique:admin_roles,name';
  44. $rules['role_name'] = 'required|between:2,12|unique:admin_roles,display_name';
  45. }
  46. $rules['role_desc'] = 'required|between:2,30';
  47. $rules['permission_list'] = 'array';
  48. break;
  49. case '/permissions':
  50. if($rid = request()->input('id')){
  51. $rules['permission_name'] = 'required|between:2,12|unique:admin_permissions,name,'.$rid;
  52. $rules['permission_control'] = 'required|between:2,50|unique:admin_permissions,controllers,'.$rid;
  53. }else{
  54. $rules['permission_name'] = 'required|between:2,12|unique:admin_permissions,display_name';
  55. $rules['permission_control'] = 'required|between:2,50|unique:admin_permissions,controllers';
  56. }
  57. $rules['permission_desc'] = 'required|between:2,30';
  58. $rules['permission_remark'] = 'required|alpha|between:2,30';
  59. $rules['permission_roles'] = 'required|array';
  60. break;
  61. case '/saveinfo/1':
  62. $rules['useremail'] = 'required|email|unique:admin_users,email,'.request()->input('id');
  63. $rules['usertel'] = 'required|numeric';
  64. $rules['usersex'] = 'required|numeric';
  65. break;
  66. case '/saveinfo/2':
  67. $rules['oldpwd'] = 'required|alpha_num|between:6,12|different:pwd';
  68. $rules['pwd'] = 'required|alpha_num|between:6,12|confirmed';
  69. $rules['pwd_confirmation'] = 'required';
  70. break;
  71. }
  72. return $rules;
  73. }
  74. public function response(array $errors)
  75. {
  76. if($errors){
  77. foreach ($errors as $k => $v){
  78. $msg = $v[0];
  79. break;
  80. }
  81. }
  82. if ($this->expectsJson()) {
  83. return response()->json(['status'=>0,'msg'=>$msg]);
  84. }
  85. return $this->redirector->to($this->getRedirectUrl())
  86. ->withInput($this->except($this->dontFlash))
  87. ->withErrors($errors, $this->errorBag);
  88. }
  89. }