调用字符串上的成员函数all(view:



我正在尝试使用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验证器会话名称的名称存在冲突,我设置的会话名称返回身份验证错误消息

最新更新