我有一个自定义的Request类,用于处理表单的验证。此表单使用“ GET”,并将过滤掉用户在页面上看到的所有结果。
我的开始日期规则:
'date_start' => 'nullable|date|required_with:date_end',
正在导致一条消息:
ERR_TOO_MANY_REDIRECTS
我的控制器如下:
public function index (ApprovedSubmissionsFilterRequest $request)
{
...
我认为这是因为验证失败时,它将GET请求发送回index方法,再次失败则验证并重定向回index方法,等等。
如何避免此循环?我不想使用POST请求而不是GET。
这是我的路线:
Route::get('formSubmission', 'FormSubmissionController@index')
->name('formSubmission.index');
谢谢。
注意(编辑):
并非所有验证错误都导致此问题-似乎仅是required_with
导致了此问题。以前有人here提到过它。
答案 0 :(得分:0)
我在项目中尝试了您的代码,但无法重现该问题。因此,您是否真的使用正确的验证规则,因为从文档中,required_with
仅在您要验证的其他字段存在于请求中时才生效。因此,在您的情况下,date_start
不应出现在请求中,并且date_end
应该存在才能进行此验证:
required_with:foo,bar,...
正在验证的字段必须存在,并且仅当存在其他指定字段时才为空。
还从您提到的github问题中,您可以在异常处理程序中调试抛出ValidationException
时发生的情况
您的最后一个笔记,您是否尝试过所有验证规则,但如果通过则不行?