#laravel #laravel-8 #laravel-validation
Вопрос:
Я получил входные данные, которые содержат массив объектов. Теперь я хотел бы проверить его, но одна часть проверки зависит от другого элемента объекта, поэтому мне нужен его индекс:
[
'items.myarray.*.owner_id' => 'numeric|exists:AppModelsOwner',
'items.myarray.*.key' => ['nullable', 'string', 'min:20', 'max:20', 'exists:AppModelsInvitation,key',
new KeyIsValid(Owner::findOrFail(request()->input('items.*.owner_id')))],
];
Конечно request()->input('items.myarray.*.owner_id')
, это не работает, но я ищу способ передать owner_id
текущий объект для этой проверки.
Ответ №1:
Вам не нужно *, если ваш запрос содержит $items[‘owner_id’], вы можете просто сделать items.owner_id => 'validation-rules-here'
Комментарии:
1. У каждой записи массива могут быть разные
owner_id
s, поэтому, к сожалению, это не то, что я ищу. Но я понимаю вашу точку зрения, в моем первоначальном вопросе это было неясно.