如何为对象的嵌套数组添加验证

时间:2019-04-14 10:09:29

标签: laravel

我正在Laravel控制器中验证我的API请求。它由一系列对象组成,每个项目都需要验证。

我尝试了嵌套数组验证,并尝试创建单独的请求验证类,但未能成功。

{
    "total" : 250.00,
    "merchant_id" : 1,
    "discount" : 0,
    "items" :  {
        [id: 1, quantity: 25, notes: "some string A"],
        [id: 2, quantity: 10, notes: "some string B"],
        [id: 3, quantity: 5, notes: "some string C"]
    }
}

需要验证主要对象的每个参数(总计,商人ID,折扣)以及嵌套的数组参数(id,数量,注释)

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

假设所有这些都是必需的。您可以像这样验证它:

$validator = Validator::make($request->all(), [
    'total' => 'required',
    'merchant_id' => 'required',
    'discount' => 'required',
    'items.*.id' => 'required',
    'items.*.quantity' => 'required',
    'items.*.notes' => 'required',
]);