2009-07-20 2 views
1

Я столкнулся с сценарным сценарием и нуждаюсь в помощи. Проблема в основном такова: На странице, которая прикреплена к валидатору, есть поле. Этот валидатор, в свою очередь, проверяет другие поля в конкретном отношении и должен вызывать сообщения об ошибках для всех связанных полей, которые не прошли проверку.Несколько сообщений для одного JSF-валидатора

Так что в основном я хочу, чтобы одно исключение валидатора содержало несколько символов faces, которые должны отображаться на странице списка. Есть ли способ сделать то же самое. По моему мнению, каждое ValidatorException может быть связано с одним FacesMessage. Поэтому я попробовал, указав «\ n» и даже «» между разными сообщениями в одной строке FacesMessage, чтобы отображать сообщения в новых строках, но это не работает. Кто-нибудь может помочь мне?

ответ

2

Как о добавлении рожи сообщения непосредственно, например, если у вас 3 поля ввода текста вы хотите, чтобы отобразить сообщение о, и что они связаны, как input1, input2 и INPUT3:

FacesContext.getCurrentInstance().addMessage(
    input1.getClientId(FacesContext.getCurrentInstance()), 
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
     "Validation Failed", "Validation Failed")); 

FacesContext.getCurrentInstance().addMessage(
    input2.getClientId(FacesContext.getCurrentInstance()), 
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
     "Validation Failed", "Validation Failed")); 

FacesContext.getCurrentInstance().addMessage(
    input3.getClientId(FacesContext.getCurrentInstance()), 
    new FacesMessage(FacesMessage.SEVERITY_ERROR, 
     "Validation Failed", "Validation Failed")); 
+0

Я не пробовал но я заинтересован, будет ли этот подход отражать эти сообщения вместе с другими сообщениями валидатора. Я попробовал что-то вроде этого, включив подобные методы в метод submit. Но тогда проверка произошла на другом этапе жизненного цикла, и все сообщения не выходили сразу. Я имею в виду, если бы я получил валидатор 1, связанный с валидатором 2 сообщения 1, связанным с сообщением 2 и выше, с сообщением о добавлении функции 3 и сообщением 4 ... после подтверждения 1-го и 2-го сообщений собрались бы вместе, иначе будут отображаться сообщения 3 и 4. Надеюсь, что я понятен. – Barun

+0

Когда мы сталкиваемся с этим в наших проектах, мы не ставим никаких валидаторов на странице, а обрабатываем все это из метода отправки в bean-компоненте. Это самый чистый способ, который мы нашли. –

+0

@Nicholas Я был бесполезно обеспокоен. Метод, который вы сказали, отлично работает для отображения нескольких сообщений проверки для одного поля. – Barun

Смежные вопросы