структура модели:
                  
                  
                  name
                  
                  
                  value
                  
                  
                  editable
                  
                  
                  Валидатор проверяет, существует ли в БД запись со значением name равной 'smth'
                  
                  
                  Но помимо этого нужно проверить, равно ли поле 'editable' значению false
                  
                  
                  Можно объединить это условие в одно через класс Validation\Rule, получится что-то типа того
                  
                  
                  Rule::exists('user_settings')->where(function ($query) {
                  
                  
                                      return $query->where('editable', true);
                  
                  
                  })
                  
                  
                  Но вопрос в том, как вывести разные сообщения о валидации юзеру, а конкретно:
                  
                  
                  1. Этого поля не существует
                  
                  
                  2. Это поле нередактируемо
                  
                  
                  Можно ли для условия задать какой-нибудь "алиас", чтобы потом можно было прикрутить к нему кастомное сообщение в массиве $messages, или может у кого есть идея как это лучше реализовать?
                  
                  
                
А разве "Это поле не существует" и "Это поле нередактируемое" - это не разные рулы?
Да, разные, дело в том, что не могу понять как их разделить. В идеале нужно два условия: первое на проверку существания, а второе when, которые будет проверять, выполнено ли предыдущее и проверять, является ли запись editable, но я из доки не понял как во when прописать условие, которое будет проверять опцию editable у найденой записи и как потом к этому when условию прикрутить кастомное сообщение, when-условий ведь может быть несколько
Сделай before валидацию
Под before-валидацией подразумевается создание своего Rule-класса?
Я не знаю что тебе нужно и как реализовано - можно же проверить сначала редактируемое или нет а потом уже отальную валидацию?
Для сложной логики проще всего использовать механизм after-хуков валидаторов: https://laravel.com/docs/8.x/validation#after-validation-hook https://laravel.com/docs/8.x/validation#adding-after-hooks-to-form-requests
Обсуждают сегодня