laravel - Laravel 5.7:验证失败后重定向过多
问题描述
我有一个两步表单,在第一页上的输入得到验证后,将显示第二页上传文件。
以下是文件输入的验证规则:
return [
'file' => 'mimes:pdf,ps|required',
];
当我尝试在不附加文件的情况下提交表单时,我收到消息说我被重定向了太多次。
这也是我创建的一个自定义中间件,用于设置 url 所需的语言环境:
public function handle($request, Closure $next)
{
$locale = $request->segment(1);
app()->setLocale($locale);
return $next($request); // this is the marked line
}
我没有第二个表单页面的“get”路由,因为它只会在第一个用户输入被验证后显示。
创建“get”路由后,它仍然无法正常工作,而且我仍然被重定向了太多次。
Route::post('/{locale}/ticket/{cat?}', 'TicketController@store')->name('validation');
Route::get('/{locale}/ticket/{cat?}', 'TicketController@store')->name('validation');
我什至尝试这样做:
Route::match(['post', 'get'], '/{locale}/ticket/{cat?}, 'TicketController@store')->name('validation');
在阅读了这个之后,但它仍然没有工作并且知道我真的不知道该怎么做。
当第二次验证失败时,我只会被重定向太多次,当我没有require
文件(在验证规则中)并且验证没有重定向时,upload
-method 会继续进行。
编辑:
这是 TicketController 中请求的上传方法:
public function upload(ValidateUploadedFile $request, $cat = '') {
// handle first user input
$file = $request->validated();
// handle storage of data
}
我不知道如何解决这个问题。
如果需要更多代码或信息来帮助我,请告诉我!
解决方案
推荐阅读
- c++ - 加载 DLL 和直接调用的区别
- android - 活动中的自定义对话框元素为空
- html - 如何将 Playstore 中未列出的 Android 应用的智能应用横幅添加到我的网站
- c# - 如何使用 C# 在 SQL 命令中包含多个搜索条件
- java - 在单元/集成测试阶段将属性值注入/覆盖到 Spring Boot 属性文件
- javascript - 使用 addEventListener 的 js onclick 随机文本
- javascript - Brain.js 正确训练神经网络
- python - 使用带有 Firefox 的 python http 代理
- html - 在 rails .erb 文件中转义特殊字符
- java - 第一个参数类型错误