Size: a a a

2020 February 22

AM

Alex Molchanov in PHP DevConf
Alexandr Dubickiy
Как ты потом тесты будешь писать? Будешь тестить кейс, когда юзер вводит вместо даты другие значения?
тут по сути всё просто, запрашиваешь с нормальными параметрами, отдает результат. Запрашиваешь с любым не корректным, не проходящим валидацию. Получаешь результат по умолчанию. Вроде в тесте нечего сложного :) А по поводу "обратной совместимости", было к примеру так where(id, $request->get('id')) стало так whereIn(id, $request->get('id')) у тебя что так, что так сломается при некоректном значении
источник

S

Stanislav in PHP DevConf
Выше ссылка на санитайзер была, там можно кастомные фильтры реализовать, которые в случае некорректности параметров приведут их в значение по умолчанию. Но лучше конечно при обнаружении невалидности параметров фильтра хотя бы просто редирект делать на страницу с дефолтными фильтрами
источник

AM

Alex Molchanov in PHP DevConf
Alexandr Dubickiy
у меня в гет параметрах сначала был integer, а потом я заменил на массив
Разве ты не должен был массив назвать во множественном числе?)
можно, только суть не в этом. А по поводу множественного значения, было childs (integeк количества детей) стал childs[] 😜
источник

AD

Alexandr Dubickiy in PHP DevConf
ну ты ведь мог на уровне реквеста сделать преобразования "типов", и тогда бы у тебя валидация корректно работала
источник

AM

Alex Molchanov in PHP DevConf
у реквеста есть тоже $casts как в моделях?
источник

AM

Alex Molchanov in PHP DevConf
заставили же читать родителя)) нашел там failedValidation() я так понимаю, его можно переназначитть и всё
источник

AM

Alex Molchanov in PHP DevConf
😁
источник

AM

Alex Molchanov in PHP DevConf
Alex Molchanov
заставили же читать родителя)) нашел там failedValidation() я так понимаю, его можно переназначитть и всё
ля, вот и нашли решение :)) теперь вопрос в другом, как глобально это реквесту задать https://prnt.sc/r62pa5 или вот такого сделать не надо и в шаблон прокидывать свой реквест?
источник

AM

Alex Molchanov in PHP DevConf
наверное вот так
request()->merge($this->all());
в formRequest тоже не правильно делать? 😂
источник

MO

Madiyar Orazaly in PHP DevConf
Alex Molchanov
Подскажите в ларке есть фича, типа request->validate() но что бы не на ошибку кидало, в случае кривых переменных, а подставило значение по умолчанию. Например, правило integer, а прислали array, то в переменную по умолчанию 0 подставить? А то тупо как-то, ручками исключения же обрабатывать? Когда тебе в get массив подсунули 😬🤣 или только самому писать что-то?
Вроде бы когда миграцию создаёшь можно через default задать
источник

MO

Madiyar Orazaly in PHP DevConf
Не 100% но чекнуть стоит
источник

AD

Alexandr Dubickiy in PHP DevConf
Madiyar Orazaly
Вроде бы когда миграцию создаёшь можно через default задать
Речь же не про запись в базу
источник

AD

Alexandr Dubickiy in PHP DevConf
и значение по умолчанию срабатывает, если ты его не задаешь
источник

MO

Madiyar Orazaly in PHP DevConf
Типа $table->string('city')->default('Almaty')
источник

MO

Madiyar Orazaly in PHP DevConf
Alexandr Dubickiy
Речь же не про запись в базу
Ну так это и сработает
источник

MO

Madiyar Orazaly in PHP DevConf
Или это не для записи в базу?
источник

AD

Alexandr Dubickiy in PHP DevConf
Madiyar Orazaly
Ну так это и сработает
Как значение по умолчанию связано с выборкой из базы?
источник

AM

Alex Molchanov in PHP DevConf
но если задастся задачей, то сломать можно всё что угодно 😂 https://prnt.sc/r62w1o
источник

AM

Alex Molchanov in PHP DevConf
организовал себе выходные))) код порефакторил😏
источник

MO

Madiyar Orazaly in PHP DevConf
Alexandr Dubickiy
Как значение по умолчанию связано с выборкой из базы?
Если он собирается записывать в базу то этот способ рабочий
источник