@yii2ru

Страница 997 из 1721
Mr.
22.02.2018
11:01:09
ну я смотрю по коду что там перебираются валидаторы

в rules, насколько я понимаю, каждый элемент массива - отдельный валидатор

если валидатор вернул false (атрибут не валиден), можно-ли на этом месте прервать валидацию?

Максим
22.02.2018
11:02:17
а смысл? пусть уже добьет до конца и не пропустит дальше действие в любом случае

Google
Mr.
22.02.2018
11:02:20
предположим что дальше по коду ещё, например, 10 проверок с обращением к БД, и я хотел-бы их избежать

Антон
22.02.2018
11:02:39
наверное, только наследовать ActiveRecord и реализовывать свой validate() с блэкджеком

Максим
22.02.2018
11:03:21
а что если использовать разные сценарии? сначала один, где валидируется только один параметр, если true - то другой зарядить, где будет проверяться все остальное

Mr.
22.02.2018
11:04:23
наверное во время валидации подмена сценария не даст никакого эфекта

ибо там в validate() идёт ->getActiveValidators(), в котором валидаторы выбираются по сценарию

мы ж будем продолжать валидировать по первому сценарию :)

Максим
22.02.2018
11:05:47
наверное во время валидации подмена сценария не даст никакого эфекта
после валидации новую модель создать с новым сценарием, и $model->load заполнить ее

Mr.
22.02.2018
11:06:05
да проще чем такое разводить модельку унаследовать :D

я просто думал что уже реализовано, дабы не велосипедить

Mr.
22.02.2018
11:08:03
в доке по skipOnError немного другое пишут

правило не будет применяться если для этого поля уже существует ошибка

хотя

Google
Mr.
22.02.2018
11:08:21
хм

можно нагородить и так

Максим
22.02.2018
11:08:38
все же я думаю, что подмена сценария должна сработать)

Mr.
22.02.2018
11:09:10
можно просто все правила валидации под одно поле запилить, и skipOnError но в идеале хотелось-бы получить вариант обрыва всех сценариев валидации на определённом месте

Максим
22.02.2018
11:10:12
1. Сделать сценарий с валидацией первого поля 2. Если нет ошибки - подменяем сценарий, в котором проверяем все остальное, и опять валидируем

Ad.x ??
22.02.2018
11:12:47
1. Сделать сценарий с валидацией первого поля 2. Если нет ошибки - подменяем сценарий, в котором проверяем все остальное, и опять валидируем
если нам нада сделать 40 проверок, из них 20 по сценарию "дальше не идем" будешь 20 сценариев делать? ;D

Ad.x ??
22.02.2018
11:14:17
да и так нормльная логика. все ошибки сразу подсветит

Dmitry
22.02.2018
11:14:25
Вообще блин, чё за бред вы тут обсуждаете? Если нужно менять дефолтное поведение валидации модели, то нужно писать свою валидацию. А не строить замок из говна и палок.

Mr.
22.02.2018
11:15:32
да понятное дело что свою писать :) я ж спрашивал есть-ли что готовое

Dmitry
22.02.2018
11:15:45
И вообще, это получается схема самого ужасного интерфейса. Где форму заполнить можно с 40 раза пока все поля отдельно пошагово пройдешь с этими прерывистыми валидпторами

Mr.
22.02.2018
11:16:34
надо добавить в /yii/validators/Validator поле dieIfError, и одну дополнительную проверку в Model->validate(), и вопрос решён :)

?
22.02.2018
11:16:39
сделать вместо формы мастер

и на каждом этапе проверять в своей модели

Dmitry
22.02.2018
11:17:03
да понятное дело что свою писать :) я ж спрашивал есть-ли что готовое
Можно вам в лицо плюнуть? , всегда хотел найти людей, из-за которых над одной формой сидишь 30 минут, а потом оказывается, что на последнее поле ты не знаешь чем заполнить т.к. у тебя нет представления чем это заполнить

Ad.x ??
22.02.2018
11:17:29
надо добавить в /yii/validators/Validator поле dieIfError, и одну дополнительную проверку в Model->validate(), и вопрос решён :)
потом дрочить юзера по одной ошибке на 40 полях чтоб исправлял. збс идея, мне нравится ))

Dmitry
22.02.2018
11:18:12
Делите форму на стейджи в конце концов

Mr.
22.02.2018
11:18:28
нет валидация у меня происходит в API моя задача - реализовать "на новый лад" одно старое API данные в API идут как POST, + там есть поле data с xml'кой внутри

вот для этой xml'ки валидацию я и делаю

Dmitry
22.02.2018
11:18:48
Это же сколько раз нужно сабмитить форму, чтобы правильно заполнить поочередно 40 полей?

Google
Mr.
22.02.2018
11:18:52
если пользователь забанен, смысл проверять, были-ли от него ещё какие-то сущности?

Nastya
22.02.2018
11:19:13
Дмитрий, вы будто недавно налоговую декларацию онлайн заполняли. откуда столько страсти? :D

Dmitry
22.02.2018
11:19:17
Забанен ли пользователь у вас должен проверять аут менеджер или рбак

Mr.
22.02.2018
11:19:29
пользователь забанен, всё, баста пиши в поддержку, спрашивай почему

Забанен ли пользователь у вас должен проверять аут менеджер или рбак
я ж уточнил, что валидация для данных внутри xml'ки

Dmitry
22.02.2018
11:19:46
И давать код 403

Mr.
22.02.2018
11:20:04
я не хочу сейчас расписывать всех особенностей реализации системы, просто оно должно вернуть одну единственную ошибку если пользователь забанен

Dmitry
22.02.2018
11:20:21
Вы в одну модель по факту лепите кучу логики, которая относится к зоопаркам как таковым.

Mr.
22.02.2018
11:20:37
сколько логики?

вы мою модель видели?

я здесь за один валидатор спросил

Dmitry
22.02.2018
11:20:48
Mr.
22.02.2018
11:21:06
за существование в фреймворке из коробки необходимого функционала

я никакого кода не предоставлял

у меня есть повторяющаяся в многих местах модель пользователя - Consignee, которому будет отправлена (допустим) посылка вот этого пользователя нужно валидировать тот кто отправляет посылку уже давно провалидирован

Dmitry
22.02.2018
11:22:07
я здесь за один валидатор спросил
Загрузил человек xml, окей. Тут вы дали ошибку, что поле неверное, он его исправил. Далее по кругу и каждый раз нужно будет ему править его под каждое поле отдельно, вместо того, чтобы один раз увидеть все ошибки и быстро все поправить

Максим
22.02.2018
11:22:19
если пользователь забанен, смысл проверять, были-ли от него ещё какие-то сущности?
если он забанен, почему API вообще что-то проверяет) Можно узнать, забанен или нет и без валидации

Admin
ERROR: S client not available

Mr.
22.02.2018
11:22:21
для остальных полей всё работает так как вы сказали

да ёб

Google
Mr.
22.02.2018
11:22:29
ладно

смысл здесь срач разводить

спасибо

Mr.
22.02.2018
11:22:49
я выше отписал

у меня есть повторяющаяся в многих местах модель пользователя - Consignee, которому будет отправлена (допустим) посылка вот этого пользователя нужно валидировать тот кто отправляет посылку уже давно провалидирован

вы всей архитектуры не знаете, и уже каждый со своим решением лезет наставлять на путь истинный

Dmitry
22.02.2018
11:23:37
В данной реализации yii всё так как реализовано - реализовано не просто так. Кмк вы заведомо уже на ложном пути. Пересмотрите бизнес логику вашего приложения.

Максим
22.02.2018
11:23:59
вы всей архитектуры не знаете, и уже каждый со своим решением лезет наставлять на путь истинный
в итоге и будет решение из 40 шагов с сотней условий в валидаторах

Mr.
22.02.2018
11:24:13
эт если сделать по вашей логике с сценариями

Максим
22.02.2018
11:24:18
Я уверен, что все можно сделать проще

Mr.
22.02.2018
11:24:29
конечно

можно вообще с нуля написать всё

но только существующие клиенты охуеют

переписывать всё под новый формат входных данных

Dmitry
22.02.2018
11:25:19
эт если сделать по вашей логике с сценариями
Ознакомьтесь с ООП и solid, мне кажется чет у вас там наговнокодено)

Максим
22.02.2018
11:25:33
эт если сделать по вашей логике с сценариями
ну так они для того и придуманы, чтобы под разные условия проверять. А если там есть 40 шагов, на половине из которых надо дальнейшую валидацию отменять, то я уже выше сказал, что логика у вас неправильная (на мой взгляд). я не знаю, что у вас за приложение

Максим
22.02.2018
11:26:13
но только существующие клиенты охуеют
вам надо валидировать содержимое XML?

Google
Mr.
22.02.2018
11:26:26
да ладно, забейте

я тут больше с вами переписываюсь чем свой "говнокод" пишу

Dmitry
22.02.2018
11:27:19
?

Страница 997 из 1721