Laravel версия: 7.x
Я проверил код с верным кодом device_company_id
(который связан с выбранным устройством), и он работает нормально.
Таблицы
device_companies
|- id
|- company_id
|- title
|- ...
devices
|- id
|- device_company_id
|- ...
Запрос данных
Array
(
...
[devices] => Array
(
[0] => Array
(
[device_company_id] => 1
[device_id] => 2
[device_inventory_id] => null
[amount] =>
[refundable] =>
[description] =>
)
)
)
Правила:
...
$rules = array_merge($rules, [
'devices' => [
'required',
'array'
],
'devices.*.device_company_id' => [
'required',
'integer',
'exists:device_companies,id,company_id,' . auth()->user()->id
],
'devices.*.device_id' => [
'required',
'integer',
'exists:devices,id,device_company_id,devices.*.device_company_id'
],
]);
...
Мне нужно пользовательское правило проверки для exists
валидатора проверить, действительно ли device
принадлежит выбранному device_company
или нет. Потому что я не хочу, чтобы кто-либо открывал инструмент проверки, изменил значение и вызвал ошибку приложения или что-то в этом роде.