Laravel validiert das Index-Array des ObjektsPhp

PHP-Programmierer chatten hier
Anonymous
 Laravel validiert das Index-Array des Objekts

Post by Anonymous »

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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post