есть возможность создать правило для проверки входного массива, например:
'agent_id.*' =>'nullable|required_with:commission.*|required_with:remuneration.*|integer|exists:agents,id',
'commission.*' => ['nullable', 'regex:/^\d+(\.\d{1,2})?$/i', new DocumentFTVDetailCommissionOrRemunerationRule()],
'remuneration.*' => ['nullable', 'regex:/^\d+(\.\d{1,2})?$/i', new DocumentFTVDetailRemunerationOrCommissionRule()],
-agent_id. * Требуется с комиссией. * Или вознаграждением. *
-комиссия . * требуется, если есть agent_id. * и вознаграждение. * empy или не задано
-вознаграждение. * требуется, если есть agent_id. * и комиссия. * empy или не установлено
DocumentFTVDetailCommissionOrRemunerationRule () и DocumentFTVDetailRemunerationOrCommissionRule () - это правила, ограничивающие выбор между комиссией. * Или вознаграждением. *
Спасибо