Add.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace app\validate\admin\user;
  3. use app\model\admin\User;
  4. use think\Validate;
  5. class Add extends Validate
  6. {
  7. //数组顺序就是检测的顺序
  8. protected $rule = [
  9. 'username' => 'require|length:2,30|checkUsername:',
  10. 'nickname' => 'require|length:2,30|checkNickname:',
  11. 'password' => 'require|length:6,30|confirm:re_password',
  12. 'is_super_manager' => 'require',
  13. 'status' => 'require',
  14. ];
  15. //定义内置方法检验失败后返回的字符
  16. protected $message = [
  17. 'username.require' => '用户名不能为空',
  18. 'username.length' => '用户名长度2-30',
  19. 'nickname.require' => '昵称不能为空',
  20. 'nickname.length' => '昵称长度2-30',
  21. 'password.require' => '密码不能为空',
  22. 'password.length' => '密码长度6-30',
  23. 'password.confirm' => '两次密码输入不相同',
  24. 'is_super_manager.require' => '请设置用户是否为超级管理员',
  25. 'status.require' => '请设置账号的状态',
  26. ];
  27. //验证用户名的唯一性
  28. protected function checkUsername($username, $rule, $data){
  29. $userId = User::getFieldByUsername($username, 'id');
  30. if($userId){
  31. return '用户名已存在';
  32. }
  33. return true;
  34. }
  35. //验证昵称的唯一性
  36. protected function checkNickname($nickname, $rule, $data){
  37. $userId = User::getFieldByUsername($nickname, 'id');
  38. if($userId){
  39. return '昵称已存在';
  40. }
  41. return true;
  42. }
  43. }