【问题标题】:Laravel 4.1 - Error messages stays for next requestsLaravel 4.1 - 错误消息保留在下一个请求中
【发布时间】:2015-04-17 10:04:16
【问题描述】:

我正在发送出现在验证过程中的错误,如下所示:

return Redirect::back()->withInput()->withErrors($article->errors());

并在视图中检索它们。通常,当我在用户登录的管理面板中执行此操作时,会出现一次错误,并且在下一次请求期间 MessageBag 不包含它们。

但现在我正在尝试对主页上的未登录用户执行相同操作,并且 MessageBag 在新请求后不为空。

知道导致这种行为的原因是什么吗?

【问题讨论】:

  • withErrors 应该只将错误闪现到 Session,只保留第一个请求。奇怪的是,这里的行为不是这样。你能多写一点你的代码吗?也许是您的管理员和非管理员部分之间的比较?
  • 我检查路由、控制器甚至过滤器的差异。没有任何效果,现在我正在检查视图,可能我在刀片模板中资助了一个问题,在脚本部分中 \@show 而不是 \@parent... 但我不知道这如何破坏 Flash 消息。
  • 我认为您的刀片模板不会对此产生任何影响。我能想到的唯一一件事是你的代码中有一个 reflash() 。您可能希望使用更多代码更新您的帖子,这样可以更轻松地寻找解决方案。
  • 对我来说也是一样,错误仍然存​​在于无休止的 http 请求中。 input::old() 也是如此。我不知道为什么会这样

标签: php session redirect laravel response


【解决方案1】:

已解决的问题已解决。

我这样设置刀片文件:

@extends('site.layouts.default')
@section('stylesfiles')
{{ Basset::show('file_upload.css') }}
@endsection
@section('content')
@stop

@section('scripts')
<script type="text/javascript">
...some js
</script>

@show
@stop

为了阻止该错误,我必须做的唯一一件事就是删除行

@show

您可以认为这是因为它为站点提供了一些代码,但我并没有检查站点的源代码是否包含它,并且不计算一些额外的空间也是一样的。

我将此答案从发布的问题移至社区 wiki。

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 2020-04-28
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多