我正在尝试使用Laravel请求验证方法
进行登录页面和凭据验证 ->如果未签订用户,它将返回带有"错误密码的错误" ....
我在两种不同的情况下看到错误: -
1-单击登录按钮而无需填写任何内容: -
htmlspecialchars() expects parameter 1 to be string, object given (View: C:xampphtdocsnfbwebresourcesviewslogin.blade.php)
2-填充随机/错误用户名和密码时:
ErrorException in f65ed669c524327dfe53b3286e027354370e4cf5.php line 13:
Call to a member function all() on string (View: C:xampphtdocsnfbwebresourcesviewslogin.blade.php)
这是我的登录视图文件: -
<h1>Login Page</h1>
@if (session()->has('errors'))
<div class="alert alert-danger">
<ul>
{{session('errors')}}
</ul>
</div>
@endif
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form action="{{route('dologin')}}" method="post">
{{csrf_field()}}
Username: <input type="text" name="username" autocomplete="off">
<br>
<br>
Password: <input type="password" name="password">
<br>
<button>Login</button>
</form>
这是我的登录控制器:
public function doLogin(Request $request)
{
$this->validate($request, [
'username' => 'required|max:255',
'password' => 'required',
]);
$client = new GuzzleHttpClient(['base_uri' => 'https://domainname/api/v1/']);
try {
$response = $client->request('POST', 'login', [
'form_params' => [
'username' => $request->username,
'password' => $request->password,
],
]);
}
catch (ClientException $exception) {
return back()->with('errors', 'Invalid username and/or password');
}
}
我删除了查看文件中的身份验证错误消息
@if (session()->has('errors'))
<div class="alert alert-danger">
<ul>
{{session('errors')}}
</ul>
</div>
@endif
Laravel请求验证器正常工作。
当我在View文件中删除验证器错误消息时,验证错误消息可行!
我在两个错误消息中是否有任何冲突?
我如何使它们两个起作用
通过更改以下内容解决: - session('错误')to session('错误')
Laravel验证器会话名称的名称存在冲突,我设置的会话名称返回身份验证错误消息