Почему не работает кастомная валидация Laravel Validator?

191
18 ноября 2020, 12:40

Есть кастомное правило для проверки даты. Все по документации Laravel, но при этом не срабатывает и всегда возвращает, что ошибок нет. dump и dd из метода passes не реагирует никак. Есть какие нибудь предположения?

class CheckDeliveryDate implements Rule
    {  
        public function passes($attribute, $value)
        {
            $delivery_date = Carbon::parse($value);
            if ($delivery_date->isToday()) {
                $this->error_messge = "Дата доставки не может быть сегодняшней";
                return false;
            }
            if ($delivery_date->endOfDay()->isPast()) {
                $this->error_messge = "Дата доставки не может быть прошедшей";
                return false;
            }
            return true;
        }
        public function message() {
            return $this->error_messge;
        }
    }

Подключаю в контроллере:

$validator = Validator::make(
    $request->all(),
    $this->rules($client_id)
);

Метод с массивом правил:

 public function rules($client_id) {
        return [
          'orders.*.positions.*.col' => 'required|numeric',
          'orders.*.positions.*.width' => 'required|numeric',
          'orders.*.positions.*.height' => 'required|numeric',
          'orders.*.positions.*.area' => 'nullable|numeric',
          'orders.*.positions.*.delivery_time' => ['required', 'date', new CheckDeliveryDate],
        ];
    }

Все остальные валидации работают корректно, но собственное отказывается работать

Answer 1

Нашел в чем проблема. Дело в том, что изначально формат данных, которые приходят отличался от первоначальной точки, соответственно структура JSON не соответствовала валидации.

READ ALSO
Вывод названия выбранной категории laravel

Вывод названия выбранной категории laravel

Ребят подскажите как работает принцип вывода названия категорииДелал так, неполучилось, возможно неправильную таблицу создал в БД

185
Не записываются данные в БД с применением jquery ajax php

Не записываются данные в БД с применением jquery ajax php

Подскажите, пожалуйста, почему не записываются данные с формы в БД? Вот код js

170
не передаются переменные из html в php

не передаются переменные из html в php

передаю две переменные в kat11php

144
Вопрос по редиректам

Вопрос по редиректам

Пробовал вhtaccess делать

156