【问题标题】:Laravel. Form validation errors disappearing if there are too many of them拉拉维尔。如果表单验证错误太多,它们就会消失
【发布时间】:2015-09-30 07:23:22
【问题描述】:

我在 Laravel 中遇到了一些非常奇怪的行为。在我的请求中,我有一些这样的验证规则:

'field_1' => 'required',
'field_2' => 'required'

如果我提交没有这些字段的表单,我会看到错误。但是,如果我有超过 8 个失败的验证规则左右,那么我根本看不到任何错误! $errors View 中的变量突然为空。请求仍然失败并且不执行控制器代码,但它返回时完全没有任何错误..

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

【问题讨论】:

  • 你能把你的错误传递给视图代码吗?我认为它可能会提供一些线索
  • @insanebits 已更新。然而,那里并没有什么真正有趣的东西。
  • 您是否发现了导致这种行为的原因?突然间,我遇到了完全相同的事情,但除了验证/失败字段的数量之外,我看不到对它有什么影响。

标签: php validation laravel laravel-5


【解决方案1】:

我知道现在回答有点晚了,但我遇到了同样的问题。我刚刚在config 中检查了我的session.php,发现我的驱动程序设置为cookie。我刚刚将其更改为file,一切似乎都正常。我希望这可以帮助您或任何遇到此错误的人。

【讨论】:

  • 您好,我可以知道为什么这是反对票,以便将来有助于改进我的回答方法。
  • 这也解决了我的问题。似乎cookie 会话仅限于固定数量的消息,而file 会话则不是。
  • 仍然适用于 Laravel 8!朋友,您为我节省了进入验证过程的时间。
猜你喜欢
  • 2017-10-22
  • 2023-03-07
  • 2019-03-08
  • 1970-01-01
  • 2020-05-11
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 2017-04-20
相关资源
最近更新 更多