Каков наилучший способ рендеринга сообщений об ошибках, специфичных для компонента?

Мне нужен общий способ рендеринга конкретного сообщения об ошибке компонента рядом с компонентом, который его вызвал. До сих пор я использовал панель обратной связи, которая не идеальна, если страница содержит несколько компонентов, требующих от пользователя прокрутки страницы вниз. Кроме того, если вы разместите на странице несколько панелей обратной связи, все они будут отображать одно и то же сообщение. Есть ли общий способ рендеринга локализованных сообщений об ошибках рядом с конкретным компонентом?


person Andrew Fielden    schedule 01.03.2013    source источник
comment
Вы видели этот пост в блоге: stuq.nl /weblog/2008-09-03/ ? Похоже, именно то, что вы хотите.   -  person Raystorm    schedule 07.03.2013
comment
Это! Опубликуйте как ответ, и я дам вам очки.   -  person Andrew Fielden    schedule 07.03.2013


Ответы (2)


Несколько лет назад на эту тему была отличная запись в блоге.
В ней подробно описано, как отображать сообщения об ошибках рядом с компонентом, сообщившим об ошибке.

http://stuq.nl/weblog/2008-09-03/user-friendly-form-validation-with-wicket

person Raystorm    schedule 07.03.2013

Вы можете разместить несколько панелей обратной связи на странице с разными наборами сообщений. У класса FeedbackPanel есть конструктор, который принимает IFeedbackMessageFilter, и вы можете создавать свои собственные реализации этого фильтра, чтобы ограничить отображаемые сообщения.

Для более полной локализации ваших сообщений, чтобы они отображались рядом с соответствующими компонентами формы, вы можете использовать FormComponentFeedbackBorder. Хороший пример их объединения, чтобы форма отображала сообщения на обычной панели обратной связи, но также выделяла неверные поля, показана на этом запись в блоге.

person Don Roby    schedule 01.03.2013
comment
Спасибо, но меня больше интересовало, как люди решили проблему рендеринга локализованных сообщений об ошибках рядом с соответствующим компонентом. Я могу выделить компонент красной рамкой. - person Andrew Fielden; 02.03.2013