'Should I use prepareForValidation of FormRequest to passing params for validation request?

I want to pass user_id and post_id to formRequest. So I use prepareForValidation to merge to the request like that done in the code below. Is that way ok or I should be passing params on Controller?

public function rules()
{
    return [
        'content' => 'required',
        'user_id' => 'required|exists:\App\Models\User,id',
        'post_id' => 'required|exists:\App\Models\Post,id'
    ];
}

public function prepareForValidation()
{
    $this->merge([
        'user_id' => Auth::user()->id,
        'post_id' => $this->post->id
    ]);
}


Solution 1:[1]

If Route look like

Route::patch('posts/{post}', 'update');

public function rules()
{
    return [
        'content' => 'required'
    ];
}

public function prepareForValidation()
{
    $this->merge([
        'user_id' => auth()->id(),
        'post_id' => $this->route('post')->id
    ]);
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Jahongir Tursunboyev