Laravel验证阵列
我的Laravel表单提交有一个名为invoice\u products的项目,其中包含所有发票数据行。以下是我在Laravel验证阵列,laravel,Laravel,我的Laravel表单提交有一个名为invoice\u products的项目,其中包含所有发票数据行。以下是我在dd($request->invoice\u products)时得到的信息。它是两条动态生成的forlm线的数组。我的表格中可以有很多这样的行。我正在尝试分别验证这些字段 [ { "product_no": 3, "product_name": "Dolor vitae ducimus voluptatum quia.", "product_price
dd($request->invoice\u products)
时得到的信息。它是两条动态生成的forlm线的数组。我的表格中可以有很多这样的行。我正在尝试分别验证这些字段
[
{
"product_no": 3,
"product_name": "Dolor vitae ducimus voluptatum quia.",
"product_price": 12,
"product_disc": 0,
"product_qty": 1,
"line_total": "12.00",
"product_tax": {
"rate": 5,
"name": "VAT"
},
"line_tax_value": "0.60",
"product_sku": "Dr. Bailee Aufderhar MD"
},
{
"product_no": 13,
"product_name": "Esse explicabo quos ut autem iusto nam est quia.",
"product_price": 111,
"product_disc": 0,
"product_qty": 1,
"line_total": "111.00",
"product_tax": {
"rate": 5,
"name": "VAT"
},
"line_tax_value": "5.55",
"product_sku": "Addie Reichert II"
}
]
这是我在laravel中的验证代码。它似乎不起作用。我错过了什么?我在文档中读到,可以使用*验证阵列
$this->validate($request, [
'invoice_products.product_sku.*' => 'required|exists:items,sku',
'invoice_products.product_price.*' => 'required',
'invoice_products.product_disc.*' => 'required',
'invoice_products.product_qty.*' => 'required|numeric|min:0|regex:/^\d+(\.\d{1,2})?$/',
]);
您的星号位置错误,请尝试:
'invoice_products.*.product_sku' => ...
根据。另外,
invoice\u products.product\u rate
在数组中不存在。你的意思是发票产品。*.product\u tax.rate
?对不起,应该是{{invoice\u products.product\u price}。我的错误。