AdminUser.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php namespace App\Http\Requests\Manager;
  2. use App\Http\Requests\BaseRequest;
  3. use Illuminate\Validation\Rule;
  4. /**
  5. * 账号管理
  6. *
  7. * */
  8. class AdminUser extends BaseRequest{
  9. /**
  10. *
  11. * @return array
  12. */
  13. public function rules(){
  14. // 编辑时排除ID
  15. $id = request('uid',0);
  16. // 非重规则
  17. $unique = Rule::unique('admin')->where(function ($query) {
  18. return $query->where([['username','=',request('username','')]]);
  19. })->ignore($id,'uid');
  20. // 非重规则
  21. $phoneUnique= Rule::unique('admin')->where(function ($query) {
  22. return $query->where([['phone','=',request('phone','')]]);
  23. })->ignore($id,'uid');
  24. // 规则
  25. return [
  26. 'username' => ['required',$unique,'max:20'],
  27. 'phone' => ['required','phone',$phoneUnique],
  28. 'uid' => 'required|integer|gt:0',
  29. 'password' => 'required|min:6|max:20|same:password_confirmation'
  30. ];
  31. }
  32. // 场景列表
  33. protected $scenes = [
  34. 'add' => ['username','phone'],
  35. 'edit' => ['uid','username','phone'],
  36. 'get_detail' => ['uid'],
  37. 'set_status' => ['uid'],
  38. 'alter_password' => ['password'],
  39. ];
  40. /**
  41. *
  42. * @return array
  43. */
  44. public function messages() {
  45. return [
  46. 'username.required' => '请输入登录账号',
  47. 'username.max' => '登录账号最长20个字符',
  48. 'phone.required' => '请输入手机号',
  49. 'phone.unique' => '手机号已存在',
  50. 'phone.phone' => '手机号格式有误',
  51. 'uid.required' => '账号ID不能为空',
  52. 'uid.integer' => '账号ID格式错误',
  53. 'uid.gt' => '账号ID格式错误',
  54. 'password.required' => '请输入密码',
  55. 'password.min' => '密码长度不能小于6位',
  56. 'password.max' => '密码长度不能大于16位',
  57. 'password.same' => '确认密码不一致',
  58. ];
  59. }
  60. }