Как установить, нужно ли значение выбрать в другом поле множественного выбора при проверке laravel?

У меня есть такая форма:

<input type="checkbox" name="category[]" value="a">Option A</option> <input type="checkbox" name="category[]" value="b">Option B</option> <input type="checkbox" name="category[]" value="c">Option C</option> <input type="checkbox" name="category[]" value="d">Option D</option> <input type="checkbox" name="category[]" value="e">Option E</option> <input type="checkbox" name="category[]" value="f">Option F</option> <input type="text" name="description"> 

Если выбрана опция A, я хочу сделать описание необходимым для проверки бэкэнда в laravel 5. Поэтому я попытался:

 $validator = Validator::make($request->all(), [ 'description' => 'required_if:category,a', ]); if ($validator->fails()) { return "error!" } 

Однако проверка не работает. Как установить правило проверки, чтобы оно работало?

Вы можете попробовать:

 $validator = Validator::make($inputs, [ 'description' => 'required_if:category.0,a', ]); 

Если это не решит вашу проблему, вам нужно написать специальный валидатор.

Сначала вам нужно найти индекс флажка со value = 'a' , в вашем примере – 0 и это можно сделать: $index = array_search('a', $request->get('category')); , И, наконец, валидация:

 [ 'description' => 'required_if:category.0,a', ]