MemberValidator.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Validator;
  3. class MemberValidator extends BaseValidator
  4. {
  5. // 当前模型所有验证规则
  6. public static $rules = [
  7. 'id' => 'required',
  8. 'code' => 'required',
  9. 'avatar' => 'required',
  10. 'nickname' => 'required|min:2|max:14',
  11. 'mobile' => 'required|mobile',
  12. 'sms_code' => 'required|min:4|max:6',
  13. 'password' => 'required|pwd|min:6|max:30',
  14. 'realname' => 'required|min:2|max:30',
  15. 'scene' => 'required',
  16. 'access_token' => 'required',
  17. ];
  18. public static $msgs = [
  19. 'required' => ':attribute不能为空',
  20. 'string' => ':attribute必须是字符串',
  21. 'min' => ':attribute长度不能小于:min位',
  22. 'max' => ':attribute长度不能大于:max位',
  23. 'exists' => ':attribute不存在',
  24. 'rule' => ':attribute格式不正确',
  25. 'mobile' => ':attribute格式不正确',
  26. 'pwd' => ':attribute格式不正确,必须包含字母数字且6-20位',
  27. ];
  28. // 当前模型所有验证字段
  29. public static $fields = [
  30. 'id' => 'ID',
  31. 'code' => '微信授权码',
  32. 'access_token' => 'access_token',
  33. 'avatar' => '头像',
  34. 'gender' => '性别',
  35. 'nickname' => '昵称',
  36. 'password' => '密码',
  37. 'username' => '登录账号',
  38. 'mobile' => '手机账号',
  39. 'realname' => '姓名',
  40. 'sms_code' => '验证码',
  41. ];
  42. // 当前模型所有验证场景
  43. public static $scenes = [
  44. 'info'=> ['id'],
  45. 'mp'=> ['code'],
  46. 'wx_login'=> ['openid','access_token'],
  47. 'login'=> ['mobile','password'],
  48. 'register'=> ['mobile','sms_code','password'],
  49. 'sms'=> ['mobile','scene'],
  50. 'reset_password'=> ['mobile','password','sms_code'],
  51. ];
  52. /**
  53. * 验证
  54. * @param $request
  55. * @param string $scene
  56. * @return int|mixed
  57. */
  58. public static function check($request, $scene=''){
  59. $validator = new BaseValidator(self::$rules, self::$msgs, self::$fields, self::$scenes);
  60. return $validator->checkParams($request, $scene);
  61. }
  62. }