👀
конечно
👀
можно вообще с нуля написать всё
👀
но только существующие клиенты охуеют
👀
переписывать всё под новый формат входных данных
Максим
эт если сделать по вашей логике с сценариями
ну так они для того и придуманы, чтобы под разные условия проверять. А если там есть 40 шагов, на половине из которых надо дальнейшую валидацию отменять, то я уже выше сказал, что логика у вас неправильная (на мой взгляд). я не знаю, что у вас за приложение
Dmitry
Dmitry
👀
👀
да ладно, забейте
👀
я тут больше с вами переписываюсь чем свой "говнокод" пишу
Dmitry
😔
Максим
Это выходит, что юзер загружает XML, вы его проверяете, и возвращаете первую найденную ошибку? И юзеру надо его менять и опять загружать?
Dmitry
А потом опять и опять и опять 😭
Максим
если это так, то это даже хуже формы с 40 полями)
The Ant
короче валидировал валидировал, да не вывалидировал
The Ant
👀
The Ant
т.е. если он сделает предоплату, а вы его забанили, он даже не узнает почему не получил посылку? )
Максим
Максим
я думаю это обычная товарка, что щас в тизерах крутят везде. кто то заказал в состоянии аффекта спрей для жопы, чтобы красивая была, а пока посылка дошла, понял, что сглупил, и не забирает)
The Ant
или например 1 получил, вторую заказал, а третья уже на почте лежит. Он значит от той что на почте лежит отказывается. Его банят. А ту что заказал уже типа не считается что заказал? )
Dmitry
Сложно
👀
хз
мы продажей не занимаемся
у нас только доставка
👀
даже не столько доставкой, сколько бюрократией по международной доставке
Dmitry
👀
Vladislav
@KorolDmitry это тебе к spaceX
SiZE
Да, я тут. Кого отправить на луну? )
Dmitry
Номер есть, куда звонить?
The Ant
👀
по адресу
The Ant
круто )
👀
причём из адреса какой-то магией составляется хэш, который не меняется, если даже менять отдельные части адреса
The Ant
вот еще ситуация. Чувак на сьемной квартире заказывает товар, и срочно съезжает. Соответственно не забирает его. Его банят.
The Ant
Другой чувак заезжает на тот же адрес, заказывает другой товар... и он ниче не получает потому что забанен? )
👀
ну эт не наша проблема уже будет
👀
он будет общаться с продавцом, тот со службой доставки, а последние с нами
👀
ну и тут есть какая-то процедура, наверное, не знаю
чтобы убрать его из бана
The Ant
а как узнать что это не один и тотже перец прикинулся типа это не он а другой )
👀
я просто не уверен что вопрос стоит в посылке
скорее мешок с посылками, или контейнер
Максим
👀
самая маленькая единица которую я пока что встречал - мешок
Максим
это один чувак мешок заказывает?
👀
это деливери компании заказывают
👀
ну вот ты, допустим, почта yii
The Ant
как-то странно у вас там все устроено )
👀
ты работаешь в вымышленной стране yiiляндии
👀
твой клиент заказал отправку в symfonyland
👀
тебе нужно эту посылку положить в мешок, провести через таможню, и доставить на склад почтовой службы symfonyland
👀
сам ты не хочешь\не можешь заниматься гемороем с пересечением мешков с посылками границы, поэтому обращаешься к нам
👀
мы тебе нанимаем самолёт из yiiляндии в symfonyland, делаем все доки, и отправляем твои мешки
👀
от тебя нужно только заплатить кэш и привезти посылки вовремя к самолёту
👀
поэтому если какой-то адрес забанен, скорее всего, это адрес какого-нибудь склада с мешками
👀
и по API клиент сразу должен увидеть, что на этот склад он не может отправить мешки
👀
и сообщение, типа "свяжитесь с нами"
The Ant
понятно почему у вас проблемы с проверкой бана конечного адресата ))
Максим
ну так если заплатят за отправку, почему бы не отправить, какая разница заберет ее получатель или нет, за нее же заплатили?
👀
этих ньюансов я не знаю
перефразирую Невского: "я программист, а не бизнесмен"
The Ant
он же сказал что оплата постфактум. привезли - забрали - оплатили
👀
оплата постфактум на первой точке
👀
то есть когда тот, кто хочет отправить, привозит мешки к самолёту
👀
просто ещё до того как он эти мешки привезёт мы ему говорим "не, парень, сюда мы по каким-то своим причинам не отправляем. Хочешь узнать больше - звони\пиши, наши менеджеры помогут тебе"
Максим
уот так уот
The Ant
отдельно проверять адрес, и потому уже запускать валидатор... хз ваще как иначе
The Ant
говнокодить со сценариями такойсе вариант. запутаешься сам позже что к чему
👀
ну вот задумайтесь: вам апи пишет "не, сюда мы не отправляем, а ещё zip код должен быть цифрами, а имя пользователя указано кирилицей"
👀
лишняя информация - зачем? уже ж понятно - сюда не отправляем
Anonymous
👀
так я и не говнокодил со сценариями
👀
я выше написал решение в 4 строки
Максим
ну после подробностей и другие решения рождаются) можно до всей валидации отдельным запросом проверить бан
👀
согласен что для большинства случаев обрыв валидации на каком-то правиле - не хорошо, но бывают нетривиальные случаи
👀
так проверка и идёт в валидации
👀
просто первым правилом
👀
ну, после *дефолтных для полей
Максим
if(!$model->checkBan()) {
$model->validate();
}
Максим
зачем бан в валидацию пихать?