Size: a a a

Laravel Framework Russian Community

2020 August 09

Õ

Õłęg in Laravel Framework Russian Community
Bat
так может отправлять по нормальному?
{
  "bt":{
     "br":7,
     "time":8
  },
  "tu":{
     "color":20,
     "power":11
  }
}
В том то и дело, что так не пойдет) Нужен ключ через точку
источник

B

Bat in Laravel Framework Russian Community
просто точка в в валидации обозначает вложенное в объект/массив  значение вроде
источник

Õ

Õłęg in Laravel Framework Russian Community
Впервые сталкиваюсь с подобной проблемой, валидатор никак не кастомизировал
источник

Õ

Õłęg in Laravel Framework Russian Community
Bat
просто точка в в валидации обозначает вложенное в объект/массив  значение вроде
Хм, интересно, попробую найти что-то на эту тему
источник

Õ

Õłęg in Laravel Framework Russian Community
В целом отправляется такой json:

{
   "name": "...",
   "somekey": "...",
   "properties": {"bt.br": 7, "bt.time": 8, "tu.color": 20, "tu.power": 11}
}

Валидации на properties нет никакой, пытаюсь сырые данные вытащить
источник

Õ

Õłęg in Laravel Framework Russian Community
В одном проекте(правда версия 5.x) работает нормально, а в 7.x нет ))
источник

B

Bat in Laravel Framework Russian Community
Õłęg
В одном проекте(правда версия 5.x) работает нормально, а в 7.x нет ))
https://laravel.com/docs/7.x/validation

A Note On Nested Attributes
If your HTTP request contains "nested" parameters, you may specify them in your validation rules using "dot" syntax:

$request->validate([
   'title' => 'required|unique:posts|max:255',
   'author.name' => 'required',
   'author.description' => 'required',
]);
источник

B

Bat in Laravel Framework Russian Community
ну как то так, я еще в 5.8 dot-синтакс юзал
источник

Õ

Õłęg in Laravel Framework Russian Community
Bat
https://laravel.com/docs/7.x/validation

A Note On Nested Attributes
If your HTTP request contains "nested" parameters, you may specify them in your validation rules using "dot" syntax:

$request->validate([
   'title' => 'required|unique:posts|max:255',
   'author.name' => 'required',
   'author.description' => 'required',
]);
Это старая тема, тоже ее юзаю, чаще с массивами, но здесь нет вложенных объектов. Может действительно с этим связано
источник

s

s4b0t in Laravel Framework Russian Community
если деваться некуда и точно известно что все данные через точку прилетают. можно попробовать в мидлваре трансформировать точку в подчёркивание. До того как реквест в валидатор попадает
источник

Õ

Õłęg in Laravel Framework Russian Community
s4b0t
если деваться некуда и точно известно что все данные через точку прилетают. можно попробовать в мидлваре трансформировать точку в подчёркивание. До того как реквест в валидатор попадает
Тоже вариант, только лучше переделаю все на _, ибо костыль получится и можно потом накосячить) но это баг по ходу от лары
источник

Õ

Õłęg in Laravel Framework Russian Community
Проблема 100% в валидаторе, через $request->get('properties') - все ок
источник

B

Bat in Laravel Framework Russian Community
Õłęg
Тоже вариант, только лучше переделаю все на _, ибо костыль получится и можно потом накосячить) но это баг по ходу от лары
ну никто не говорил что в считай названии поля должна быть точка) я бы сделал как обычный многомерный массив и потом хелпером через Arr::dot сделал бы что надо
источник

ВС

Владимир Свешников... in Laravel Framework Russian Community
Антон Новерко ( Programmer )
Пробовал все равно токен меняеться
Вообще при регистрации создаётся значение в сессии и в бд копируется. И там и там создаётся токен.
Дополнительно создаётся Кука с тем же токеном.
Потому что сессия живёт пока браузер не закроешь, а Кука живёт хоть вечно.
Я ларавел только скачал... Но expired... Лично мне намекает на не совпадение токена или
Истечение его времени жизни.
Просто решил описать процесс чтобы вам было проще копать.
источник

ВС

Владимир Свешников... in Laravel Framework Russian Community
Точнее при авторизации.
Но она происходит сразу после я полагаю
источник

Õ

Õłęg in Laravel Framework Russian Community
Bat
ну никто не говорил что в считай названии поля должна быть точка) я бы сделал как обычный многомерный массив и потом хелпером через Arr::dot сделал бы что надо
Таки да)
источник

Õ

Õłęg in Laravel Framework Russian Community
Благодарю за наводку)
источник

АН

Антон Новерко ( Prog... in Laravel Framework Russian Community
Владимир Свешников
Вообще при регистрации создаётся значение в сессии и в бд копируется. И там и там создаётся токен.
Дополнительно создаётся Кука с тем же токеном.
Потому что сессия живёт пока браузер не закроешь, а Кука живёт хоть вечно.
Я ларавел только скачал... Но expired... Лично мне намекает на не совпадение токена или
Истечение его времени жизни.
Просто решил описать процесс чтобы вам было проще копать.
Благодарю, немного прояснили))
источник

А

Артём in Laravel Framework Russian Community
Владимир Свешников
Вообще при регистрации создаётся значение в сессии и в бд копируется. И там и там создаётся токен.
Дополнительно создаётся Кука с тем же токеном.
Потому что сессия живёт пока браузер не закроешь, а Кука живёт хоть вечно.
Я ларавел только скачал... Но expired... Лично мне намекает на не совпадение токена или
Истечение его времени жизни.
Просто решил описать процесс чтобы вам было проще копать.
Какое значение создаётся в сессии при регистрации/авторизации?
источник

А

Артём in Laravel Framework Russian Community
Владимир Свешников
Вообще при регистрации создаётся значение в сессии и в бд копируется. И там и там создаётся токен.
Дополнительно создаётся Кука с тем же токеном.
Потому что сессия живёт пока браузер не закроешь, а Кука живёт хоть вечно.
Я ларавел только скачал... Но expired... Лично мне намекает на не совпадение токена или
Истечение его времени жизни.
Просто решил описать процесс чтобы вам было проще копать.
> Потому что сессия живёт пока браузер не закроешь

Как сервер узнает, что браузер закрыли?
источник