Проверка правильности калитки Apache - PullRequest
0 голосов
/ 12 января 2012

У меня есть пользовательская проверка, добавленная на мою страницу, и эта проверка вызывается из уровня бизнес-логики после нажатия кнопки «Сохранить» в пользовательском интерфейсе, которая равна AjaxSubmitLink.

На моей странице есть apache wicket DateTimeField, но его проверка не работает должным образом: сообщение об ошибке не отображается в FeedbackPanel, которое добавляется на страницу, и моя пользовательская проверка отображается там правильно.

Так, например, я заполняю поле часов "321", и у меня будет ошибка в консоли:

WARN org.apache.wicket.protocol.http.WebSession - компонент-ориентированная обратная связьсообщение было оставлено без изменений.Это может быть связано с отсутствием на странице панели обратной связи.Сообщение: [FeedbackMessage message = "Перевод для ключа [hours.RangeValidator] не найден для языка [en]!", Reporter = hours, level = ERROR]

Возможно, у кого-то были подобные проблемы ирешение для этого?

Спасибо!

1 Ответ

6 голосов
/ 13 января 2012

Поскольку вы выполняете Ajax-запрос, вы должны добавить панель обратной связи к вашему AjaxRequestTarget (чтобы он обновлялся при каждом запросе).

Вы должны переопределить метод onError, хотя:

add(new AjaxSubmitLink() {
    @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {
        target.addComponent(yourFeedbackPanel);
    }
}
...