Laravel。如果表单验证错误太多,则表单验证错误会消失

时间:2015-07-11 16:48:21

标签: php validation laravel laravel-5

我在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')

1 个答案:

答案 0 :(得分:-1)

我知道回答有点迟,但我遇到了同样的问题。我刚检查了session.php中的config,发现我的驱动程序设置为cookie。我刚把它改成file,一切似乎都有效。我希望这可以帮助你或任何挣扎于此错误的人。