'require|length:4,20|checkAccount', 'real_name|姓名' => 'require|length:1,20', 'mobile|手机号' => 'checkMobile', 'password|密码' => 'length:6,16|checkPassword', 'oldpass|旧密码' => 'require', 'pass|新密码' => 'require|length:6,16|different:oldpass', 'pass_confirm|重复新密码' => 'require|confirm:pass', 'depId' => 'require|gt:0', 'rolesId' => 'require|gt:0', ]; protected $message = [ 'account.length' => '账号长度必须在4-20字之间', 'password.length' => '密码长度必须在6-16字之间', 'depId.require' => '未选择部门', 'depId.gt' => '未选择部门', 'rolesId.require' => '未选择角色', 'rolesId.gt' => '未选择角色', ]; protected $scene = [ 'add' => ['account','real_name','mobile','password','depId','rolesId'], 'addCompany' => ['account','real_name','mobile','password','rolesId'], 'modifyPass' => ['oldpass','pass','newpass'], 'wxadd' => ['mobile','real_name','password'], 'wxedit' => ['real_name'], 'bachAdd' => ['account','real_name','mobile'], ]; protected function checkAccount($value,$rule,$data=[]) { $info = Db::name('user')->where('account',$value)->where('del',0)->find(); if($data['id'] <= 0 && $info){ return '账号已被使用'; } if($info && $data['id'] > 0 && $info['id'] != $data['id']){ return '账号已被使用'; } return true; } protected function checkMobile($value,$rule,$data=[]) { if($value && !check_mobile($value)){ return '手机号格式不正确'; } if($value){ $info = Db::name('user')->where('mobile',$value)->where('del',0)->find(); if($data['id'] <= 0 && $info){ return '手机号已被使用'; } if($info && $data['id'] > 0 && $info['id'] != $data['id']){ return '手机号已被使用'; } } return true; } protected function checkPassword($value,$rule,$data=[]) { if($data['id'] <= 0 && !$value){ return '未输入密码'; } return true; } }