0

在我的应用程序中,我简单地使用以下方式显示视图中的错误的通用位置:

show_messages($errors->getMessages());

show_messages函数中,我以我希望它们显示的方式解析错误。但是我开始在我的表单中使用一些分组,比如register[email]. 当我显示我使用的错误时->withErrors(Input::get('register'), 'register')

但是现在我无法动态获取消息,因为默认情况下$errors->getMessages()会进入default消息包(在这种情况下为空)。

我可以使用 得到错误$errors->register->getMessages(),但这是假设我知道它会是register. 查看ViewErrorBag课程,我看不到任何提供包的方法。在不改变当前类以动态获取所有包或动态获取每个包中的所有消息的情况下,是否有办法做到这一点?

4

2 回答 2

1

我不知道这是否适用于 Laravel 4,但在 Laravel 5 中我使用$errors->all().

于 2015-10-11T22:00:47.770 回答
0

您可以简单地遍历所有对象属性。

foreach ($errors as $errorBag) {
    show_messages($errorBag->getMessages());
}

虽然理论上您需要检查属性类型以了解它是否为MessageBagMessageBag但没有任何其他公共属性。

于 2014-10-19T16:28:57.683 回答