Динамически получить MessageBag от ViewErrorBag?

В моем приложении у меня есть общее место для ошибок в представлении, которое я отображаю просто используя:

show_messages($errors->getMessages());

в show_messages Функция Я анализирую ошибки так, как я хотел бы, чтобы они отображались. Однако я начал использовать некоторые группировки в моих формах, таких как register[email], Когда я отображаю ошибки, которые я использую ->withErrors(Input::get('register'), 'register'),

Но теперь я не могу динамически получать сообщения, потому что $errors->getMessages() идет к default сумка сообщений по умолчанию (которая в этом случае пуста).

Я могу получить ошибки, используя $errors->register->getMessages(), но это при условии, что я знаю, что это будет register, Глядя на ViewErrorBag класс я не вижу никаких методов, чтобы обеспечить сумку. Есть ли возможность сделать это без изменения текущего класса, чтобы динамически получать все пакеты или все сообщения в каждом пакете динамически?

0

Решение

Я не знаю, работает ли это в Laravel 4, но в Laravel 5 я использую $errors->all(),

1

Другие решения

Вы можете просто перебрать все свойства объекта.

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

Хотя теоретически вам нужно проверить тип свойства, чтобы узнать, MessageBag, MessageBag не имеет других общедоступных свойств

0

По вопросам рекламы [email protected]