Мне нравится StackOverflow, потому что я всегда нахожу решение сразу после публикации вопроса.
Первое решение в http://community.jboss.org/wiki/ModalPanelValidation работает для меня.
Перефразируя, поставьте идентификатор наваш элемент h: messages, а затем выполните эту проверку Javascript, чтобы увидеть, можете ли вы закрыть модальное окно.
function modalClose() {
if (!document.getElementById('fullresolvedidofmessagepanel')) {
Richfaces.hideModalPanel('modalpanelid');
}
}
Строки здесь являются стандартными.