Laravel 5.6 ERR_TOO_MANY_REDIRECTS по запросу GET - PullRequest
1 голос
/ 03 мая 2019

У меня есть пользовательский класс Request, который занимается проверкой формы.Эта форма использует 'GET' и отфильтрует все результаты, которые пользователь может видеть на странице.

Мое правило для даты начала:

'date_start' => 'nullable|date|required_with:date_end',

isвызывая сообщение:

ERR_TOO_MANY_REDIRECTS

Мой контроллер выглядит следующим образом:

public function index (ApprovedSubmissionsFilterRequest $request)
{

    ...

Я полагаю, что это потому, что, когда проверка не проходит, онотправляет запрос GET обратно в метод индекса, который еще раз не проходит проверку и перенаправляет обратно в метод индекса и т. д. и т. д.

Как мне избежать этого цикла?Я не хочу использовать запрос POST вместо GET.

Вот мой маршрут:

Route::get('formSubmission', 'FormSubmissionController@index')
 ->name('formSubmission.index');

Спасибо.

ПРИМЕЧАНИЕ (изменить):

Не все ошибки проверки вызывают это - кажется, только required_with является причиной проблемы.Кто-то упоминал это здесь ранее.

1 Ответ

0 голосов
/ 03 мая 2019

Я попробовал ваш код в своем проекте и не могу воспроизвести проблему. Поэтому действительно ли вы используете правильное правило проверки, потому что из документов required_with действует только в том случае, если в запросе есть другое поле, которое вы пытаетесь проверить. Таким образом, в вашем случае date_start не должно присутствовать в запросе и date_end должно существовать для того, чтобы эта проверка прошла:

required_with: Foo, бар, ...

Проверяемое поле должно присутствовать и не быть пустым, только если присутствуют какие-либо другие указанные поля.

  • Также из упомянутой проблемы github вы можете отлаживать в обработчике исключений, что происходит, когда выдается ValidationException

  • Ваша последняя заметка, пробовали ли вы все правила валидации, кроме той, если она прошла?

...