我有一个带有四个标签的表单,所以在验证后它总是在第一个标签上重定向我,但我希望它重定向我的那个有错误信息
这是我的代码
$this->validate($request,
[
'name' => 'required|min:3|alpha_spaces',
'date_of_birth' => 'required|date|date_format:"Y-m-d"',
'place_of_birth' => 'required',
'nationality' => 'required',
'address' => 'required',
'port_name' => 'required',
'contact_number' => 'required|digits_between:8,15|numeric',
'religion' => 'required',
'education_level' => 'required',
'marital_status' => 'required',
'interview_method' => 'required',
'can_be_interviewed_via' => 'required',
'date_to' => 'required',
'date_from' => 'required',
'country' => 'required',
]);
并且我在使用提交按钮和隐藏文件选择标签的每个标签上进行重定向
if ($data['selecttab'] == 'tab0') {
return redirect("fdws/".$id."/edit?tab=tab0");
}elseif($data['selecttab'] == 'tab1'){
return redirect("fdws/".$id."/edit?tab=tab1");
}elseif($data['selecttab'] == 'tab2'){
return redirect("fdws/".$id."/edit?tab=tab2");
}else{
return redirect("fdws/".$id."/edit?tab=tab3");
}
如果没有验证,则可以正常使用
答案 0 :(得分:0)
抓一点!我犯了一个大错。 According to官方Laravel 5.0文档,并且在查看Illuminate\Foundation\ValidatesRequests
特征时,使用Controller Validation
时,不可能只选择重定向路由而不修改特征或其他代码。我认为使用Form Request会给你带来你想要的力量而不那么麻烦。
答案 1 :(得分:0)
找到解决方案, 我做得那样,工作得很好:)。
$validator = Validator::make($request->all(), [
'can_be_interviewed_via' => 'required',
]);
if ($validator->fails()) {
return redirect("fdws/".$id."/edit?tab=tab3")
->withErrors($validator)
->withInput();
}
答案 2 :(得分:0)
在Laravel 5中,使用中间件作为控制器和路由的助手。这对你有很大帮助。