validate([ 'old_password' => ['bail', 'filled', 'string', 'min:6', 'max:6'], 'new_password' => ['bail', 'required', 'string', 'min:6', 'max:6'], ]); $wallet = $request->user()->wallet; //如果已经设置安全密码则比对 if ($wallet && $wallet->password && (!$wallet->verifyPassword(Arr::get($input, 'old_password', '')))) { throw new BizException('安全密码不正确'); } Wallet::updateOrCreate( ['user_id'=> $request->user()->id], ['password' => $input['new_password']], ); return response()->noContent(); } }