【发布时间】:2020-06-13 16:02:47
【问题描述】:
我有以下验证规则:
[
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 数组必须包含一个子数组,其中包含该特定项目的一些值。
例如:
[
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 的键的子数组?
【问题讨论】:
标签: php laravel laravel-6 laravel-validation laravel-formrequest