формате JSON:
{
"tariff_name": "some_name",
"tariff_type": "some_type",
"settings": [
{
"service_id": 1,
"limit_id": 1,
"cost_per_item": 1.99
}
]
}В доках по Laravel нашёл синтаксис для валидации массивов, и написал свой класс,
наследник класса FormRequest, для валидации запроса. Правила:
public function rules()
{
return [
'tariff_name' => ['bail', 'required', 'string', 'max:100', 'min:1'],
'tariff_type' => ['bail', 'required', Rule::in(TariffType::types())],
'settings' => ['bail', 'required', 'array'],
'settings.*.service_id' => ['bail', 'required', 'numeric', 'distinct', 'exists:services,id'],
'settings.*.limit_id' => ['bail', 'required', 'numeric', 'exists:limits,id'],
'settings.*.cost_per_item' => ['bail', 'required', 'numeric'],
];
}Имена input элементов для settings в форме такие:
settings[1][service_id]
settings[1][limit_id]
settings[1][cost_per_item]Однако при вызове функции Input::old для этих имён всегда получаю NULL, и поэтому все поля формы надо заполнять заново.
Подскажите, плиз, что я делаю не так?
судя по json у тебя в 0 ключе хранятся, а ты из первого запрашиваешь settings[1][service_id]
Обсуждают сегодня