我有一个奇怪的问题。 问题是,如果验证失败,我会尝试显示错误。当我添加检查是否有任何错误的函数时,它会抛出这个
在字符串上调用成员函数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');
}
}
答案 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');