Laravel проверяет индексный массив объектаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel проверяет индексный массив объекта

Сообщение Anonymous »

Можно ли как-нибудь проверить индексный массив объектов в laravel с помощью валидатора?
Вот данные моего сообщения:

Код: Выделить всё

[
{
"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
}
]
}
]
Тогда я хочу проверить это следующим образом:

Код: Выделить всё

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',
];
}
Однако это не работает.
Я знаю, что могу добавить поле префикса, чтобы исправить это, но я просто хочу знать, поддерживает ли laravel индексный массив для проверки без префиксного ключа ?

Код: Выделить всё

{
"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: v7.4.33
Версия Laravel: v6.20.44

Подробнее здесь: https://stackoverflow.com/questions/793 ... -of-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»