laravel自定义错误显示

时间:2017-07-29 17:57:29

标签: php laravel

我有一个奇怪的问题。 问题是,如果验证失败,我会尝试显示错误。当我添加检查是否有任何错误的函数时,它会抛出这个

在字符串上调用成员函数has() 在1a9e38a37f43696e36d945eadb85a60fed28183b.php(第28行)

这是:

  @if($errors->has('credentials') > 0)
    <p class="error">{{ $errors->first('credentials') }}</p>
  @endif

这就是我处理验证的方式

public function login(Request $request)
{
    $this->validate($request, [
        'credentials' => 'required',
        'password' => 'required',
    ]);

    $user_detail = $request->credentials;
    $password = $request->password;

    if(Sentinel::authenticate(array('login' => $user_detail, 'password' => $password)))
    {
        return redirect()->route('site.index');
    }
    else 
    {
        return back()->with('errors', 'test');
    }
}

2 个答案:

答案 0 :(得分:0)

使用

return back()->with('errors', 'test');

您使用字符串$errors创建变量"test"

has(以及first)也是collection的方法。因此,您需要将$errors作为集合:

return back()->with('errors', collect(['credentials' => 'Error text goes here']));

答案 1 :(得分:0)

使用

怎么样?
return back()->withErrors('test');