Size: a a a

Laravel для начинающих

2021 March 06

LD

Lugovskoy Dmitriy in Laravel для начинающих
Roman Kolosov
так на крейт и апдейт разные правила валидации должны быть
ну это само собой понятно, у меня реквест и не очень хороший способ писать валидацию напрямую в методах контроллера
источник

RK

Roman Kolosov in Laravel для начинающих
я про что что должно быть два реквеста
источник

RK

Roman Kolosov in Laravel для начинающих
ну как выше и написали
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Можно ли это сделать все в одном файле, реквесте
источник

EG

Egor Gruzdev in Laravel для начинающих
Lugovskoy Dmitriy
ну это само собой понятно, у меня реквест и не очень хороший способ писать валидацию напрямую в методах контроллера
в контролере никто не пишет, или два FormRequest или дополняй rules через проверку на каком маршуртуе находишься
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Вот это мне и нужно, проверить в rules где я нахожусь
источник

RK

Roman Kolosov in Laravel для начинающих
Lugovskoy Dmitriy
Можно ли это сделать все в одном файле, реквесте
это не правильный подход
источник

RK

Roman Kolosov in Laravel для начинающих
в чем сложность создать StoreModelRequest и UpdateModelRequest?
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Roman Kolosov
это не правильный подход
Наоборот верный, не нужно создавать кучу файлов реквестом, где потом запутаешься где и что у тебя
источник

RK

Roman Kolosov in Laravel для начинающих
почти всегда правила при добавление и обновление отличаются
источник

EG

Egor Gruzdev in Laravel для начинающих
Lugovskoy Dmitriy
Вот это мне и нужно, проверить в rules где я нахожусь
как то так:

public function rules()
   {
       $rules = [
           'name' => 'required',
           'quote' => 'required',
           'title' => 'required',
           'content' => 'required',
           'category_id' => 'required|integer',
           'thumbnail' => 'nullable|image',
       ];

       if ($this->routeIs('post.update')) {
           $rules['slug'] = [
               'required',
               'string',
               Rule::unique(Post::class, 'slug')
                   ->ignoreModel($this->route('post')),
           ];
       }

       return $rules;
   }
источник

RK

Roman Kolosov in Laravel для начинающих
источник

RK

Roman Kolosov in Laravel для начинающих
и где тут можно запутаться?
источник

RK

Roman Kolosov in Laravel для начинающих
наоборот вся логика правильно разнесена
источник

RK

Roman Kolosov in Laravel для начинающих
походу безсмыслено спорить
источник

RK

Roman Kolosov in Laravel для начинающих
лепить разные правила валидации в один файл, это хардкод
источник

EG

Egor Gruzdev in Laravel для начинающих
Рома, тут скорее не бизнес или запутаться, а "банальная лень" держать фактически одинаковые на 90% правила проверки и для создания и обновления.
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Egor Gruzdev
как то так:

public function rules()
   {
       $rules = [
           'name' => 'required',
           'quote' => 'required',
           'title' => 'required',
           'content' => 'required',
           'category_id' => 'required|integer',
           'thumbnail' => 'nullable|image',
       ];

       if ($this->routeIs('post.update')) {
           $rules['slug'] = [
               'required',
               'string',
               Rule::unique(Post::class, 'slug')
                   ->ignoreModel($this->route('post')),
           ];
       }

       return $rules;
   }
Спасибо, теперь буду знать как это писать правильно. Знаю что можно, но информацию подобного плана не смог найти
источник

EG

Egor Gruzdev in Laravel для начинающих
Lugovskoy Dmitriy
Спасибо, теперь буду знать как это писать правильно. Знаю что можно, но информацию подобного плана не смог найти
но Рома прав, лучше не лениться и создавать для создания и обновления разные классы валидации, даже если они правилами будут похожи
источник

LD

Lugovskoy Dmitriy in Laravel для начинающих
Egor Gruzdev
но Рома прав, лучше не лениться и создавать для создания и обновления разные классы валидации, даже если они правилами будут похожи
Но зачем, ведь код будет похоже один в один и делаем исключение для другого и все в одном файле.
источник