laravel实践18.分状态处理用户更改信息

public function update(User $user, Request $request)
    {
        $this->validate($request, [
            'name' => 'required|max:50',
            'password' => 'nullable|confirmed|min:6'
        ]);

        $data = [];
        $data['name'] = $request->name;
        if ($request->password) {
            $data['password'] = bcrypt($request->password);
        }
        $user->update($data);

        session()->flash('success', '个人资料更新成功!');

        return redirect()->route('users.show', $user);
    }

户密码验证的 required 规则换成 nullable,这意味着当用户提供空白密码时也会通过验证。如果用户传入password值,则进行confirmed验证。即对传入的 password 进行判断,当其值不为空时才将其赋值给 data,避免将空白密码保存到数据库中。

posted @ 2019-12-27 17:59  GIC扫地僧  阅读(253)  评论(0编辑  收藏  举报