User.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace app\api\validate;
  3. use think\Validate;
  4. class User extends Validate
  5. {
  6. /**
  7. * 验证规则
  8. */
  9. protected $rule = [
  10. 'account' => 'require|length:3,30',
  11. 'username' => 'require|length:3,30',
  12. 'nickname' => 'require|length:3,30',
  13. 'password' => 'require|length:6,30',
  14. 'mobile' => 'require|regex:/^1\d{10}$/',
  15. 'email' => 'email',
  16. 'avatar' => 'string',
  17. 'gender' => 'in:0,1,2',
  18. 'bio' => 'string|max:255',
  19. 'money' => 'float|egt:0',
  20. 'balance' => 'float|egt:0',
  21. 'score' => 'integer|egt:0',
  22. 'level' => 'integer|egt:0',
  23. 'captcha' => 'require|length:4,6'
  24. ];
  25. /**
  26. * 提示消息
  27. */
  28. protected $message = [
  29. 'account.require' => '账号不能为空',
  30. 'account.length' => '账号长度必须在3-30个字符之间',
  31. 'username.require' => '用户名不能为空',
  32. 'username.length' => '用户名长度必须在3-30个字符之间',
  33. 'nickname.require' => '昵称不能为空',
  34. 'nickname.length' => '昵称长度必须在3-30个字符之间',
  35. 'password.require' => '密码不能为空',
  36. 'password.length' => '密码长度必须在6-30个字符之间',
  37. 'mobile.regex' => '手机号格式不正确',
  38. 'mobile.require' => '手机号不能为空',
  39. 'email' => '邮箱格式不正确',
  40. 'gender.in' => '性别只能是未知、男、女',
  41. 'bio.max' => '个人简介最多255个字符',
  42. 'money.float' => '余额必须是数字',
  43. 'money.egt' => '余额不能为负数',
  44. 'balance.float' => '余额必须是数字',
  45. 'balance.egt' => '余额不能为负数',
  46. 'score.integer' => '积分必须是整数',
  47. 'score.egt' => '积分不能为负数',
  48. 'level.integer' => '等级必须是整数',
  49. 'level.egt' => '等级不能为负数',
  50. 'captcha.require' => '验证码不能为空',
  51. 'captcha.length' => '验证码长度不正确'
  52. ];
  53. /**
  54. * 验证场景
  55. */
  56. protected $scene = [
  57. 'register' => ['username', 'password', 'mobile', 'captcha'],
  58. 'login' => ['account', 'password'],
  59. 'mobilelogin' => ['mobile', 'captcha'],
  60. 'profile' => ['nickname', 'gender', 'bio', 'avatar'],
  61. 'changeMobile' => ['mobile', 'captcha'],
  62. ];
  63. }