Thanks to Rule::when() we can conditionally apply validation rules in laravel.
In this example we validate the value of the vote only if the user can actually vote the post.
1use Illuminate\Validation\Rule;2 3public function rules()4{5 return [6 'vote' => Rule::when($user->can('vote', $post), 'required|int|between:1,5'),7 ]8}
Tip given by @cerbero90