Сохранять богатство: модалПанель открыта при сбое проверки? - PullRequest
0 голосов
/ 02 сентября 2011

Я пытаюсь удержать мой модал от закрытия при сбое проверки, выполненной с помощью actionLister.

Я видел многочисленные дискуссии по этому вопросу с несколькими целевыми решениями, но мне не повезло ни с одним изих.У кого-нибудь есть рабочие решения?

Я использую RichFaces 3.3.3.Final.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2012

Вы пробовали это?

oncomplete="if (#{!validation.failed}) Richfaces.hideModalPanel('accounts_popup1');"
1 голос
/ 02 сентября 2011

Мне нравится StackOverflow, потому что я всегда нахожу решение сразу после публикации вопроса.

Первое решение в http://community.jboss.org/wiki/ModalPanelValidation работает для меня.

Перефразируя, поставьте идентификатор наваш элемент h: messages, а затем выполните эту проверку Javascript, чтобы увидеть, можете ли вы закрыть модальное окно.

function modalClose() {
    if (!document.getElementById('fullresolvedidofmessagepanel')) {
        Richfaces.hideModalPanel('modalpanelid');
    }
}

Строки здесь являются стандартными.

0 голосов
/ 02 сентября 2011

Yup - в функции oncomplete(..) вашей кнопки проверьте, есть ли в facesContext какие-либо ошибки.Если нет - hide(), иначе ничего не делать.

...