我得到了一个包含对象数组的输入。现在我想验证它,但是验证的一部分依赖于对象的另一项,所以我需要它的索引:
[
'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
到此验证。
这将返回一个数组值
$request()->input('items.myarray.*.key')[0]
它将返回一个字符串值">items.myarray.*.key";它应该可以工作。
你不需要*,如果你的请求包含$items['owner_id'],你可以简单地做items.owner_id => 'validation-rules-here'