@laravel_pro

Страница 1341 из 2014
Alexey
10.05.2018
09:25:15
Видимо плохо читал. required_if используется для проверки второго поля если первое равно value. А что ты делаешь?
Ко мне приходит запрос с разными полями, которые могут быть равны тем или иным значениям. Итак, если поле "а" равно "true", то тогда поле "б" обязательно и его нужно проверить.

Nikita
10.05.2018
09:26:15
Хорошо, покажи полную запись тогда. Что ж ты кусками кидаешь :)

Google
Alexey
10.05.2018
09:26:43
фронт не может тебе прислать бул чисто технически
А я и не хочу проверять булево значение, я хочу узнать, равно ли оно _строке_ .

Diamond
10.05.2018
09:26:44
а мне нужно чтобы ставилось site.ru/JP и притом при переходе на просто site.ru который по умолчанию на английском, он не ставил заново японский язык по локали, иначе клиент из японского сектора так и не сможет посмотреть английскую версию сайта

Alexey
10.05.2018
09:26:56
Хорошо, покажи полную запись тогда. Что ж ты кусками кидаешь :)
"systemUserID" => "required_if:isSystemUser,true|required_if:existing,true|integer|exists:system_users,id"

Nikita
10.05.2018
09:28:26
Сделай дамп реквеста, покажи что приходит.

Alexey
10.05.2018
09:29:35
Сделай дамп реквеста, покажи что приходит.
systemUserID: Select System User existing: false new: true isSystemUser: true

Nikita
10.05.2018
09:30:27
true/false это у тебя точно строки?

Alexey
10.05.2018
09:30:48
Ну, могу сделать dd

Момент.

Nikita
10.05.2018
09:31:03
так, а я шо просил))

Alexey
10.05.2018
09:32:05
так, а я шо просил))
array:17 [ "firstName" => "ads" "insertion" => "adfs" "lastName" => "adsf" "street" => null "house" => null "zip" => null "city" => null "email" => "s05@kshlerin.org" "phone" => null "rate" => null "function" => "Cashier" "isSystemUser" => "true" "role" => "Accountant" "pin" => "213" "systemUserID" => "Select System User" "existing" => "false" "new" => "true" ]

Nikita
10.05.2018
09:37:08
Так. А теперь один раз - что работает не так?)

Потому что вроде всё ок

Alexey
10.05.2018
09:38:07
Потому что вроде всё ок
Это правило тоже не прокатывает: "systemUserID" => "required_if:existing,true|integer|exists:system_users,id"

Google
Nikita
10.05.2018
09:39:24
почему не прокатывает? при existing = true и пустом systemUserID получаем феил

нет?

Alexey
10.05.2018
09:41:07
почему не прокатывает? при existing = true и пустом systemUserID получаем феил
Нет, смотри: Поле existing = "false". Правило говорит о том, что если existing = true, тогда проверять systemUserID. Проблема в том, что existing = "false", но проверка происходит всё равно.

Maksim
10.05.2018
09:42:22
На данный момент нет, только имплементирует интерфейс
Ну тогда может стоит интерфейс указать в тайп-хинтре метода?

Alexey
10.05.2018
09:46:30
Когда поле existings = false, поле systemUserID валидироваться не должно.

Nikita
10.05.2018
09:46:54
ну так оно и не валидируется

хочешь с пустым пропустит, хочешь вообще без поля

стоп

у тебя ж там ещё другие правила)

Alexey
10.05.2018
09:50:42
у тебя ж там ещё другие правила)
Другие правила есть, но проблема только с этим.

Nikita
10.05.2018
09:52:58
Другие правила есть, но проблема только с этим.
Та в чём проблема то если existings = false то поле systemUserID не является обязательным если existings = true то поле systemUserID обязательно

Именно так и работает required_if

Alexey
10.05.2018
09:54:02
Та в чём проблема то если existings = false то поле systemUserID не является обязательным если existings = true то поле systemUserID обязательно
Абсолютно правильно. Но почему-то валидация работает так: при existings = false - выполняется exists:system_users,id .

Nikita
10.05.2018
09:54:19
Ну так я тебе о том же

Другие правила фейлятся

А не это

Alexey
10.05.2018
09:55:38
А не это
Нет, Никит, именно это. Потому что клиентская часть получает сообщение: {"message":"The given data was invalid.","errors":{"systemUserID":["The system user i d must be an integer."]}}

Nikita
10.05.2018
09:55:51
?

Google
Nikita
10.05.2018
09:56:00
["The system user i d must be an integer."]}

действительно

проблема в require

Когда уже люди начнут учить программирование с базового курса английского))

Тебе сам ларавел говорит что значение должно быть целым

А ты пол часа доказываешь что проблема в require)

Alexey
10.05.2018
09:59:05
проблема в require
Ну, как я понимаю это правило: Если existings = true, тогда выполнять integer|exists:system_users,id . Иначе - не выполнять. Теперь: existings у меня = false. Вопрос почему выполняется integer|exists:system_users,id ?

Nikita
10.05.2018
09:59:27
Потому что ты неправильно понял валидацию)

Это отдельные правила

Alexey
10.05.2018
10:00:22
Отдельные?

Они же связанными должны быть.

Alexander
10.05.2018
10:00:49
Пиши кастомное правило для валидации и не морочь голову

Nikita
10.05.2018
10:01:15
Можно поморочить через sometime

Но я никогда не использовал его, так что хз как там оно работает

Alexander
10.05.2018
10:02:49
sometimes не поможет ему потому что он включает правила если поле присутсвует

а оно у него всегда присутсвует

Nikita
10.05.2018
10:03:15
А этого в условии небыло

про то что всегда присутствует)

Alexander
10.05.2018
10:03:38
Ну судя по всему у него там селект какой то

Google
Nikita
10.05.2018
10:03:43
но в целом я за кастомное правило

Alexander
10.05.2018
10:03:45
и в селекте дефолт значение стоит текстовое

Alexey
10.05.2018
10:03:48
Кому должны?)
То есть, даже если existings = false, то остальные правила, следующие за required, будут выполняться?

Alexander
10.05.2018
10:04:04
да

https://laravel.com/docs/5.6/validation#custom-validation-rules

пиши

Alexey
10.05.2018
10:06:11
Жесть, попробовал: systemUserID" => "required_if:roles,blabla|integer|exists:system_users,id" Результат тот же.

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

Nikita
10.05.2018
10:07:58
А прочитал бы вдумчиво доку по валидации - не пришлось бы мучаться :)

Alexey
10.05.2018
10:13:23
А прочитал бы вдумчиво доку по валидации - не пришлось бы мучаться :)
Просто оно немного нелогично (на мой взгляд) получается - это поле не нужно, но оно всё равно валидируется.

Nik
10.05.2018
10:13:31
дока для слабаков

нелогично передавать фолс в апп, да еще и текстом

Евгений
10.05.2018
11:00:48
Ищу работу. Москва, удаленно, можно по-проектно :) на ларе само собой

Игорь
10.05.2018
11:01:38
Подскажите пожалуйста можно ли как-то добавить данные в таблицу в той-же миграции где она создаётся, или нужно отдельный seeder создавать?

Alexey
10.05.2018
11:03:04
Сид.

Игорь
10.05.2018
11:03:39
Миграции выполняются в порядке их создания?

Liv
10.05.2018
11:03:58
Игорь
10.05.2018
11:04:38
можно отдельно выполнять
это понятно, я про команду php artisan migrate

Nik
10.05.2018
11:06:46
по дате

Илья
10.05.2018
11:09:13
Есть проблема с Socialite, facebook авторизация перестала работать пишет Undefined variable: access_token , а вот google пашет как надо , может кто-сталкивался P.S. client_id , client_secret введены правильно

Google
Kaido
10.05.2018
11:21:27
ребят, мутатор может возвращать какое-то состояние (или как это даже назвать не знаю)?

мне просто нужно каким-то образом понять что мутатор отработал нормально

Nik
10.05.2018
11:22:39
дд в мутаторе

:)

ребят, мутатор может возвращать какое-то состояние (или как это даже назвать не знаю)?
Одарич расскажи человеку как работается с https://github.com/lazychaser/laravel-nestedset

Kaido
10.05.2018
11:23:33
а причем тут нестедсет?

Nik
10.05.2018
11:25:40
а ты недавно игрался насколько я помню

Kaido
10.05.2018
11:25:56
так я с ним разобрался давно уже

Nik
10.05.2018
11:26:16
дай фидбек - понравилось или нет, и с чем были проблемы

Alexander
10.05.2018
11:26:32
На сколько я помню там форум был

Kaido
10.05.2018
11:26:43
понравилось все до мелочей все очень просто

Alexander
10.05.2018
11:26:48
и вряд ли там будет фидбек а как оно работает в овер 100 тысяч записей

Kaido
10.05.2018
11:27:16
единственное, по началу не нашел в документации функций для смены позиции

Alexander
10.05.2018
11:27:17
и при частом изменении перемещении веток дерева

Kaido
10.05.2018
11:27:22
нашел только в коде в итоге

Страница 1341 из 2014