
Vladislav
22.03.2018
12:10:08
Там всн кейсы почти

Sergey
22.03.2018
12:14:20

Dmitry
22.03.2018
12:16:32
ага, вот валидация емейла и проходит под "фанатичные проверки" ;) если хочется написать валидатор для емейла, сделай /@/ :)

Google

Dmitry
22.03.2018
12:17:16

Sergey
22.03.2018
12:21:19
Увы, вот совсем не хочется спорить и продолжать данную тему
У тебя свой подход, у меня свой, который основывается на моем мировозрении и опыте.
Каждый прав по своему.
По поводу защиты (в тч и от опечаток)- это миф. Самая хорошая защита - вывезти сервак в пустыню, зарыть под покровом ночи и застрелиться.

Sergey
22.03.2018
12:23:23
> который основывается на моем мировозрении и опыте.
контролируемая галлюцинация

Dmitry
22.03.2018
12:40:51
Подскажите пожалуйста
когда записываю доктриной в MongoDB в EmbedOne(targetDocument="...") сущность, она оказывается в базе без ID все остальные данные есть

Sergey
22.03.2018
12:43:13
на то она и embed one

Борис
22.03.2018
12:45:54
Sergey не стоит ограничивать ввод email тебе правильно люди говорят. Хочешь помочь - помоги на фронте - подсвети оранжевым "ваш емейл выглядет странным, проверьте его". Но если ты категорически не пропустишь серверной валидацией мой валидный "its my valid custom email"@my_pizdatiy_domen.rocks то я не потрачу свои 2 бакса на твоем сервисе. Ты будешь "очень дружелюбным к пользователем" ..... и бедным

Dmitry
22.03.2018
12:46:08
в этом же документе соседняя коллекция тоже EmbedOne(targetDocument="...") (только другой документ) записывается все полностью и ID тоже

Sergey
22.03.2018
12:56:10
Сегодняшний реальный пример из жизни.
Прилетел таск от человека из смежного отдела, что он не может ввсести мыло в карточку клиента. (Человек проходил тестирование на знание основ Интернета, знания урлов и должен знать как выглядят email адреса.) Работает не первый год, те с опытом.
Человек прислал скрин с формой, в которой был текст ошибки
Далее выдержка из переписки
я - А что там написано, на скрине?
он - "Введите корректный e-mail" на сколько я вижу, у меня введен корректный e-mail ввожу ic-*-*-client (за * скрыл название клиента).
И как тут не плакать? Это просто боль, когда человек вводит мыло без доменной части. В данном случае, мы не валидируем адреса путем отправки на него проверочной ссылки. Подразумевается, что менеджер вносит рельный и живой адрес клиента.


Борис
22.03.2018
13:17:53
На собачку проверять можно.
А так, думаю, проблема в ГУИ если человек этого не понял.
Напишите: "Введите email. Это строка вида example@domen.com. Обратите внимание на знак @ " и тд. На гуи ты можешь позволить себе подсказывать всю хурму. Но речь о том, что пытаясь реализовать именно валидацию емейла на сервере(валидация - либо прошел либо нет, трейтего не дано) ты будешь есть кактусы. Потому что завтра придет точно такая жалоба, что специфичный клиент не может залогинится.


Sergey
22.03.2018
13:30:12
В данном случае ГУИ - одна форма с 5 полями. Как ее сделать еще удобнее и понятнее - я не знаю.
Да, данная подсказка не раскрывает причины по которой валидация мыла не прошла. Согласен, можно более подробно писать о ошибке. О чем уже улетел таск разрабам.
Все валидации мы делаем на сервере, при сабмиете формы и стараемся показывать всю хурму с ошибками в этой же форме.
При критичных для бизнеса ошибках, форму возвращаем с указанием ошибок. Если ошибки не кртитичные, то уходит таск в отдел контроля на ручную проверку.
К примеру, у нас есть постер с человеческой глупостью. На нем название города Москва и варианты, как люди ошбались. Список состоит из более 30 уникальных написаний.

?
22.03.2018
14:01:20
как получить юзера по юзернейму не лазя в репу?
нашёл в UserLoaderInterface loadUserByUsername(), но не могу найти сервис, который это реализует

Google

?
22.03.2018
14:02:42
где-то в недрах видел, что провайдеры вроде реализуют это, но не могу понять, как получить провайдера через ди

Vladislav
22.03.2018
14:08:27
провайдер пишется для фаервола
первый который прописан в security.yml
там их пару типов есть(chain, entity, memory шото такое)
вытаскивать его сложно, потому что надо знать какой тип вытаскивать)
сходи в репу и возьми юзера) так будет лучше

Petr
22.03.2018
14:27:33
PHP-CS-Fixer или CodeSniffer?

Sergey
22.03.2018
14:29:27
cs fixer свежее

?
22.03.2018
14:37:19
спасибо

Олексій
22.03.2018
14:58:48
Привет. Кто знает, как можно переопределить propertyName при сериализации JMS сериалайзером?

Andrey
22.03.2018
15:00:39

Олексій
22.03.2018
15:01:01
пробовал, не помогает почему то (

Andrey
22.03.2018
15:01:20

Олексій
22.03.2018
15:12:05
Это помогло https://github.com/schmittjoh/serializer/issues/334#issuecomment-190651143
Доктрина. Сохраняю пачку сущностей [ User 1-* UserPhone *-1 Phone ]. Если я добавляю новые данные в жсон внизу, то работает ок, но если пытаюсь вставить вверху или середине, то сразу же происходят разные траблы с неуникальностью полей. Как лучше всего готовить такие рилейшены ?

Shmaltorhbooks
22.03.2018
16:32:30
вверху и внизу от чего?

Олексій
22.03.2018
16:33:05
имею ввиду датасет с телефонами

Google

Олексій
22.03.2018
16:34:18
если добавлять или удвлять новые телефоны снизу, то работает ок.

Salem
22.03.2018
16:34:39
а что значит снизу в json?

Олексій
22.03.2018
16:38:13
Это значит сюда

Vladislav
22.03.2018
16:38:41
ппц

Salem
22.03.2018
16:39:26
порядок в json? рили?

Олексій
22.03.2018
16:40:03
да, порядок в жсон.

Shmaltorhbooks
22.03.2018
16:40:11
вообще-то в массиве порядок элементов сохраняется и в жсон

Vladislav
22.03.2018
16:41:09
[] -> {}
с ключами
там у тебя где-то уже провтык

Олексій
22.03.2018
16:43:00
Но не могу же я заставлять юзеров в жсоне еще и индексы присылать.
Я понимаю, что похоже обратная десериализация херится, но блин, как это можно порешать?

Boris
22.03.2018
16:43:43
Привет всем, подскажите, а можно где-то почитать за события этого компонента?
https://symfony.com/doc/current/components/serializer.html

Shmaltorhbooks
22.03.2018
16:44:08
а у него есть события?

Boris
22.03.2018
16:44:44
Поэтому и спрашиваю :)

Shmaltorhbooks
22.03.2018
16:46:10

Google

Shmaltorhbooks
22.03.2018
16:46:19
вот все события, которые там происходят))

Vladislav
22.03.2018
16:46:38
кто и что тебе присылает
и зачем тебе в середину вставлять что-то?
почему просто не в конец массива?
или не давай ключам сьезжать
как только у тебя получается 0 2 3 4 5 то это уже не массив

Shmaltorhbooks
22.03.2018
16:47:42

Admin
ERROR: S client not available

Vladislav
22.03.2018
16:47:49
как он вставляет в середину?

Shmaltorhbooks
22.03.2018
16:48:01
но пропустить 1, и иметь 0 и 2 нельзя

Vladislav
22.03.2018
16:48:11
в пхп?
можно

Shmaltorhbooks
22.03.2018
16:48:22
та речь же о json'е

Vladislav
22.03.2018
16:48:39
так у него на выходе не массив а обьект
и будут ключи 0 и 2

Shmaltorhbooks
22.03.2018
16:48:50
он говорит о том, что в зависимости от того, в каком порядке идут элементы в массиве - результат сохранения будет разный

Vladislav
22.03.2018
16:49:22
хз, это не баг точно) надо просто разобраться в логике)

Google

Олексій
22.03.2018
16:49:33
обьясни плис задачу, вообще не понятно
Задача принять и обработать данные юзера. Телефоны имеют такие рилейшены: [ User 1-* UserPhone *-1 Phone ]
Дело в том, что я не хотел бы в жсоне заставлять юзера корректно отправлять индексы. Пример жсона на скрине.

Shmaltorhbooks
22.03.2018
16:49:39

Vladislav
22.03.2018
16:49:39
массив
второй раз я догадывался что будет обьект

Shmaltorhbooks
22.03.2018
16:49:57
нет, второй раз объекта не будет. будет такой же жсон, только те элементы, которые на скрине в начале - он их перемещает в конец

Vladislav
22.03.2018
16:50:47
я запутался) помоги тогда ему

Shmaltorhbooks
22.03.2018
16:50:56
а я хз чего у него так
я понял что у него происходит, но нету ни конфигов jms, ни маппинга доктрины, ничего

Vladislav
22.03.2018
16:51:42
ну тогда можем пожелать удачки ?

Shmaltorhbooks
22.03.2018
16:51:47
мож у него номер телефона - уникальгное поле, он тест два раза прогоняет и не чистит колонку
от и имеет unique constraint fail
потому что номер телефона уже в прошлый раз записал)

Олексій
22.03.2018
16:53:40
да, номер телефона уникальное поле, и UserPhone.phone_id тоже уникальное. И при разных кейсах вставки-удаления у меня происходят фейлы с уникальностью ключа.

Shmaltorhbooks
22.03.2018
16:53:57
оооо
какие-то детали проявляются)

Vladislav
22.03.2018
16:55:52
теперь узнали какие фейлы

Boris
22.03.2018
17:36:45
А кто какой serializer может посоветовать вменяемый?

Sergey
22.03.2018
17:37:19