У меня есть следующие правила проверки:
[
MenuItem::MENU_ITEM_NAME => 'required|unique:menu_items,name',
MenuItem::MENU_ITEM_DESCRIPTION => 'nullable',
MenuItem::MENU_ITEM_CATEGORY => 'required|exists:categories,id',
MenuItem::MENU_ITEM_SIDE => 'nullable|boolean',
MenuItem::MENU_ITEM_SIDE_ONLY => 'nullable|boolean',
MenuItem::MENU_ITEM_IMAGE => 'nullable',
MenuItem::MENU_ITEM_AVAILABLE => 'nullable|boolean',
MenuItem::MENU_ITEM_ACTIVE => 'nullable|boolean',
MenuItem::MENU_ITEM_PRICING => 'required',
]
они прекрасно работают до этого контрольного примера, который мне нужно реализовать:
Оценка, также известная как MenuItem::MENU_ITEM_PRICING
- это массив массивов , Мне нужно проверить, что когда MenuItem::MENU_ITEM_SIDE
передается как true
, то массив pricing
должен содержать подмассив с некоторыми значениями для этого элемента c.
Пример:
[
MenuItem::MENU_ITEM_SIDE => false,
MenuItem::MENU_ITEM_PRICING => []
]
предыдущий пример действителен. Но:
[
MenuItem::MENU_ITEM_SIDE => true,
MenuItem::MENU_ITEM_PRICING => []
]
недопустимо, должно быть:
[
MenuItem::MENU_ITEM_SIDE => false,
MenuItem::MENU_ITEM_PRICING => [['sideprice' => 2.20]]
]
Как я могу проверить (в моем классе FormRequest
), что если MenuItem::MENU_ITEM_SIDE == true
, то MenuItem::MENU_ITEM_PRICING
должно содержать подмассив с ключом с именем sideprice
?