Member.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\validate\member;
  12. use app\dict\common\CommonDict;
  13. use app\dict\member\MemberDict;
  14. use think\facade\Lang;
  15. use think\Validate;
  16. /**
  17. * 会员验证
  18. * Class Member
  19. * @package app\validate\member
  20. */
  21. class Member extends Validate
  22. {
  23. protected $rule = [
  24. 'nickname' => 'requireWithout:field|max:30|requireIf:field,nickname',
  25. 'mobile' => 'mobile',
  26. 'sex' => 'checkSex',
  27. 'birthday' => 'date',
  28. 'username' => 'require|checkUsername',
  29. 'password' => 'require',
  30. 'status' => 'require|checkStatus',
  31. ];
  32. protected $message = [
  33. 'nickname.requireWithout' => 'validate_member.nickname_require',
  34. 'nickname.requireIf' => 'validate_member.nickname_require',
  35. 'nickname.max' => 'validate_member.nickname_max',
  36. 'mobile.require' => 'validate_member.mobile_require',
  37. 'mobile.mobile' => 'validate_member.mobile_mobile',
  38. 'birthday' => 'validate_member.birthday_format',
  39. 'username.require' => 'validate_member.username_require',
  40. 'username.unique' => 'validate_member.username_is_exist',
  41. 'password.require' => 'validate_member.password_require',
  42. 'status.require' => 'validate_member.status_require',
  43. ];
  44. protected $scene = [
  45. 'add' => ['birthday', 'mobile', 'password'],
  46. 'edit' => ['sex', 'birthday'],
  47. 'modify' => ['sex', 'birthday'],
  48. 'account_register' => ['username', 'password', 'mobile'],
  49. 'reset_password' => ['password', 'mobile'],
  50. 'set_status' => ['status']
  51. ];
  52. /**
  53. * 账号不能是纯数字
  54. * @param $value
  55. * @param $rule
  56. * @param $data
  57. * @return Lang|true
  58. */
  59. public function checkUsername($value, $rule, $data = []){
  60. return preg_match('/^\d+$/', $value) ? get_lang("validate_member.username_cannot_pure_number") : true;
  61. }
  62. /**
  63. * 自定义验证 性别
  64. * @param $value
  65. * @param $rule
  66. * @param array $data
  67. * @return Lang|true
  68. */
  69. protected function checkSex($value, $rule, $data = [])
  70. {
  71. return isset(CommonDict::getSexType()[$value]) ? true : get_lang("validate_member.sex_bot_exist");
  72. }
  73. protected function checkStatus($value, $rule, $data = [])
  74. {
  75. return isset(MemberDict::getStatus()[$value]) ? true : get_lang("validate_member.not_exit_status");
  76. }
  77. }