Gibt es überhaupt eine Möglichkeit, das Indexarray von Objekten in Laravel mit dem Validator zu validieren?
Hier sind meine Beitragsdaten:
[
{
"order_id": 601696,
"is_delay": 0,
"ship_date": null,
"times": 1,
"warehouse_id": 237,
"ship_type": 1,
"package": [
{
"sku": "JD-XL102",
"order_item_id": 772447,
"qty": 2
}
]
},
{
"order_id": 601696,
"is_delay": 0,
"ship_date": null,
"times": 1,
"warehouse_id": 251,
"ship_type": 1,
"package": [
{
"sku": "JD-D16",
"order_item_id": 772447,
"qty": 1
},
{
"sku": "JD-D16-GC",
"order_item_id": 772448,
"qty": 1
}
]
}
]
Dann möchte ich es so validieren:
public function rules()
{
return [
'*.*.order_id' => 'required|integer',
'*.*.is_delay' => 'required|boolean',
'*.*.ship_date' => 'nullable|datetime',
'*.*.times' => 'required|integer|min:1',
'*.*.warehouse_id' => 'required|integer',
'*.*.ship_type' => 'required|integer',
'*.*.package' => 'required|array',
'*.*.package.*.sku' => 'required|string',
'*.*.package.*.qty' => 'required|integer|min:1',
];
}
Allerdings funktioniert es nicht.
Ich weiß, dass ich ein Präfixfeld hinzufügen kann, um das Problem zu beheben, aber ich möchte nur wissen, ob Laravel das Indexarray zur Validierung ohne den Präfixschlüssel unterstützt ?
{
"rows": [
{...}
]
}
public function rules()
{
return [
'row' => 'required|array',
'row.*.order_id' => 'required|integer',
'row.*.is_delay' => 'required|boolean',
'row.*.ship_date' => 'nullable|datetime',
'row.*.times' => 'required|integer|min:1',
'row.*.warehouse_id' => 'required|integer',
'row.*.ship_type' => 'required|integer',
'row.*.package' => 'required|array',
'row.*.package.*.sku' => 'required|string',
'row.*.package.*.qty' => 'required|integer|min:1',
];
}
PHP-Version: v7.4.33
Laravel-Version: v6.20.44
Laravel validiert das Index-Array des Objekts ⇐ Php
-
- Similar Topics
- Replies
- Views
- Last post