例えばユーザのパスワードなんかで登録時は必須だけど、編集のときは未入力だとパスワード変更なし、入力があれば変更する、というパターンがあると思います。登録と編集で別々にバリデーションを用意するのも冗長だしresource単位でまとめておきたい、そんな場合の書き方です。確認したバージョンはLaravel5.7です。

public function rules()
{
    return [
        'name' => 'required|max:255',
        'email' => [
            'required',
            'max:255',
            'email',
            Rule::unique('users')->ignore($this->user),
        ],
        'password' => ($this->user) ? 'nullable|min:6|confirmed' : 'required|min:6|confirmed',
    ];
}

↑はFormRequestに定義するrulesになります。ルーティングは↓を想定しています。

Route::resource('users', 'UserController');

また、コントローラー側でデータを保存前にpasswordの入力があるかチェックをして、入力がなければパラメータに含めない、という制御も必要になります。

public function update(UserRequest $request, User $user)
{
    $validatedData = $request->validated();

    if ($validatedData['password']) {
        $validatedData['password'] = Hash::make($validatedData['password']);
    } else {
        unset($validatedData['password']);
    }

    $user->update($validatedData);

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