我在我的注册表单中添加了验证,验证代码正在运行,但错误不会显示在页面中
PHP代码
public function postSignUp(Request $request)
{
$this->validate($request, [
'email'=> 'required|email|unique:users',
'first_name'=> 'required|max:120',
'password' => 'required|min:4'
]);
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
Auth::Login($user);
return redirect()->route('dashboard');
}
Welcome.blade.php代码
@section('content')
@if(count($errors) > 0)
<div class="row">
<div class="col-md-6">
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
</div>
@endif
php代码正在运行,因为如果我尝试注册已经采用它的电子邮件不会注册,但错误是错误未显示在欢迎页面中
答案 0 :(得分:0)
您正在检查函数计数($ errors),但这是一个对象,它将始终输入条件,因为您计算的对象不是列表本身。
替换 @ if(计数($ errors)&gt; 0) with @if(!empty($ errors-&gt; all()))
答案 1 :(得分:0)
您没有将错误消息传回视图。 如documentation
所述 if ($validator->fails())
{
return redirect('dashboard')->withErrors($validator);
}