[英]redirect route for validation in laravel
我在 Laravel 中的 redirectRoute 属性有问题。 我想要做的是:在请求验证后,例如注册请求失败,重定向到具有正确错误的另一个视图。 我已经尝试过在 RegisterController 中使用protected $redirectRoute = '/route-name'
但它不起作用。 我正在使用 Laravel 5.4
请参见此处: https : //laravel.com/docs/5.4/validation#manually-creating-validators
您需要手动创建验证器,然后如果验证失败,您可以确切地告诉它重定向到哪里:
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return redirect('post/create')
->withErrors($validator)
->withInput();
}
如果您使用的是表单请求,则可以覆盖以下属性以重定向到自定义位置:
protected $redirect; // A simple URL. ex: google.com
protected $redirectRoute; // A route name to redirect to.
protected $redirectAction; // A controller action to redirect to.
更新的答案,在 Laravel 8 中测试过。可以创建一个 ValidationException 并在其上设置自定义重定向。
概括:
use Illuminate\Validation\ValidationException;
$validator->setException( (new ValidationException($validator))->redirectTo('your/custom/location'));
$validator->validate();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.