我在下面具有此功能,用于更新经过身份验证的用户的电子邮件。
问题在于,如果存在验证错误,则自定义消息不会出现在视图中。
你知道为什么吗?
populate
查看:
public function updateEmail(Request $request){
$rules = [
'email' => 'required|email'
];
$customMessages = [
'email.required' => 'The email field is required.',
'email.email' => 'Please insert a valid email.'
];
$validator = Validator::make($request->all(), $rules, $customMessages);
if ($validator->fails()) {
return redirect(route('user.index', ['user' => Auth::id()]) . '#loginData');
}
$user = Auth::user();
$user->email = $request->email;
$user->save();
Session::flash('success', 'Email updated with success.');
return redirect(route('user.index', ['user' => Auth::id()]) . '#loginData');
}
答案 0 :(得分:0)
更改此:
if ($validator->fails()) {
return redirect(route('user.index', ['user' => Auth::id()]) . '#loginData');
}
更改为此,以便您可以返回会话中的错误并使用{{$ errors-> first}}或通过$ errors-> all()作为$ error遍历它们的循环
if ($validator->fails()) {
return redirect()->back()->withErrors($validator);
}
在laravel 5.6中,使用withErrors方法时,重定向后,$ errors变量将自动与您的视图共享。