With Rule::when() we can conditionally apply validation rules

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

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 22 courses (477 lessons, total 38 h 20 min)
  • 2 long-form tutorials (one new every week)
  • access to project repositories
  • access to private Discord