Size: a a a

2020 April 08

П

Павел in Laravel UA
return [
           'year'   => 'required|integer|between:2012,2050',
           'number' => 'required|integer|between:1,12',
           'year' => Rule::unique('journals')->where(function ($query) {
               return $query->where('number', $this->number);
           })
       ];
источник

П

Павел in Laravel UA
вопрос про number как раз
источник

MA

Maksim Aleshchenko in Laravel UA
Павел
return [
           'year'   => 'required|integer|between:2012,2050',
           'number' => 'required|integer|between:1,12',
           'year' => Rule::unique('journals')->where(function ($query) {
               return $query->where('number', $this->number);
           })
       ];
у тебя 2 одинаковых ключа в массиве, второй же перетрет
источник

П

Павел in Laravel UA
это поправлю
источник

П

Павел in Laravel UA
првильно ли я number передал в анонимную?
источник

MA

Maksim Aleshchenko in Laravel UA
use()
источник

П

Павел in Laravel UA
ага
источник

П

Павел in Laravel UA
$this у нас указывает на запрос вроде?
источник

П

Павел in Laravel UA
да только он отдает ошибку только касательно поля одного. А как написать, что такое СОВПАДЕНИЕ двух полей есть?
источник

П

Павел in Laravel UA
похоже нашел для валидатора. получается надо валидировать дополнительно в контроллере
источник

MA

Maksim Aleshchenko in Laravel UA
ты можешь написать что то типа такого
Rule::unique('table')->where(function ($query) use ($request) {
   return $query->where('field_1', $request->field_1)->where('field_2', $request->field_2);
})
источник

П

Павел in Laravel UA
return [
           'number' => 'required|integer|between:1,12',
           'year'   => [
               'required',
               'integer',
               'between:2012,2050',
               Rule::unique('journals')->where(
                   function ($query) use ($number) {
                       return $query->where('number', $number);
                   }
               ),
           ],
       ];
источник

П

Павел in Laravel UA
у меня проблема в том, что он отдает ошибку применительно к полю year
источник

П

Павел in Laravel UA
думаю пропустить в контроллер, а там через наследованный валидатор с кастомным сообщением уже
источник

MA

Maksim Aleshchenko in Laravel UA
а что мешает провалидировать в формреквесте?
источник

П

Павел in Laravel UA
так я в нем и валидирую
источник

MA

Maksim Aleshchenko in Laravel UA
Павел
return [
           'number' => 'required|integer|between:1,12',
           'year'   => [
               'required',
               'integer',
               'between:2012,2050',
               Rule::unique('journals')->where(
                   function ($query) use ($number) {
                       return $query->where('number', $number);
                   }
               ),
           ],
       ];
так у вас здесь проверка 1го поля
источник

П

Павел in Laravel UA
источник

П

Павел in Laravel UA
нет правила , чтобы сообщение для двух полей отобразить
источник

П

Павел in Laravel UA
только создать кастомный валидатор
источник