我正在尝试从索引页面注册用户但是当验证器失败时,则想要重定向到注册页面。
我厌倦了解决这个问题。无法自定义Illuminate / Foundation / Validation / ValidatesRequests.php页面。
这是代码
protected function getRedirectUrl() {
return route('register');
}
protected function validator(array $data) {
$this->getRedirectUrl();
return Validator::make($data, [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6|confirmed', ]);
}
答案 0 :(得分:1)
添加以下方法,在控制器中生成前一个url并覆盖默认值,在控制器中添加以下方法
在控制器中,您已定义$this->validate
调用以下方法并使用请求
use Illuminate\Http\Request; // add at the top
protected function getRedirectUrl() {
return route('register');
}
protected function validator(array $data) {
return $this->validate(request(), [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6|confirmed', ]);
}
public function register(Request $request)
{
$this->validator($request->all());
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}