Laravel表单验证失败自定义重定向
根据learnku的Laravel文档显示:
如果想手动创建验证器实例,又想利用请求中 validates 方法提供的自动重定向,那么你可以在现有的验证器实例上调用 validate 方法。如果验证失败,用户会自动重定向,如果是 AJAX 请求,将会返回 JSON 格式的响应:
也就是说,默认Laravel会自动重定向到一个合适的地址。
// 自动重定向
Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
])->validate();
那么我们怎么自定义重定向地址呢?
1.控制器中:
$validator = Validator::make(...);
if ($validator->fails()) {
// 自定义验证失败后重定向的地址
return redirect('member/gasup');
}
2.验证类中
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class orderRequest extends FormRequest
{
// 自定义验证失败后重定向的地址
protected $redirect = 'member/gasup';
public function authorize()
{
return true;
}
public function rules()
{
...
}
public function messages()
{
...
}
}