我在Laravel遇到过一些非常奇怪的行为。在我的请求中,我有一些像这样的验证规则:
'field_1' => 'required',
'field_2' => 'required'
如果我在没有这些字段的情况下提交此表单,我会看到错误。但是,如果我有超过8个失败的验证规则,那么我根本没有看到任何错误! View中的$errors
变量突然变空。请求仍然失败,并且不执行Controller代码,但它返回时没有任何错误..
'field_1' => 'required',
'field_2' => 'required',
'field_3' => 'required',
'field_4' => 'required',
'field_5' => 'required',
'field_6' => 'required',
'field_7' => 'required',
'field_8' => 'required',
// No errors displayed in View, but Request returns me back, like if it has failed
看起来它与响应的长度有关。如果错误消息比某些内容长(不确定究竟是什么),那么它们就不会出现在View中的$errors
变量中。
这很奇怪。我该如何解决这个问题?我需要很多错误信息..
在我看来:
@if ($errors->has())
<div class="alert alert-danger">
@foreach (array_unique( $errors->all() ) as $error)
{{ $error }}<br>
@endforeach
</div>
@endif
@if(Session::has('error'))
<div class="alert alert-danger">
{{ Session::get('error') }}
</div>
@endif
@if(Session::has('success'))
<div class="alert alert-success">
{{ Session::get('success') }}
</div>
@endif
@include('flash::message')
答案 0 :(得分:-1)
我知道回答有点迟,但我遇到了同样的问题。我刚检查了session.php
中的config
,发现我的驱动程序设置为cookie
。我刚把它改成file
,一切似乎都有效。我希望这可以帮助你或任何挣扎于此错误的人。