从ViewErrorBag动态获取MessageBag?

时间:2014-10-19 10:22:07

标签: php laravel laravel-4 laravel-validation

在我的应用中,我在视图中有一个错误的通用位置,我只是使用:

show_messages($errors->getMessages());

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

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

我可以使用$errors->register->getMessages()获取错误,但假设我知道它将是register。看ViewErrorBag课程,我没有看到任何方法来提供这个包。反正有没有改变当前的类来动态地获取所有行李或动态地包含每个行李中的所有消息?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

理论上,您需要检查属性类型以了解它是MessageBagMessageBag还没有任何其他公共属性。