Как сравнить количество элементов массивов друг с другом в валидации?

Есть 2 поля со множественными заполненными значениями. Как можно сравнить, что количество элементов в первом массиве равно количеству элементов во втором массиве?
class MyRequest extends FormRequest
{
    public function rules(): array
    {
        return [
           // 'categories' => 'required|same:titles', // Тут бы equal:field какой-нибудь... Нашёл только qte:field и lte:field
            'categories.*' => 'required|string|exists:categories,slug',
            'titles.*' => 'required|string|max:255',
        ];
    }
}


UPDATE: Сделал так:
$rules = [
    'categories' => 'required|array|min:1',
    'titles' => 'required|array|min:1',
];

foreach($this->request->get('categories') as $key => $val) {
    $rules['categories.' . $key] = 'required|integer|exists:categories,id';
    $rules['titles.' . $key] = 'required|string|max:255';
}
return $rules;
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы