У меня есть следующий фрагмент кода внутри h:form
<h:panelGrid id="captchaGrid">
<p:captcha id="captcha" label="Captcha" required="true"
requiredMessage="required"
validatorMessage="...">
</p:captcha>
<p:message id="captchaMessage" for="captcha" />
</h:panelGrid>
<p:commandButton id="submitButton" value="save"
actionListener="#{userBean.save}" update="captchaGrid"
onstart="doSomething()"
oncomplete="doSomethingElse(xhr, status, args)" icon="ui-icon-check">
</p:commandButton>
Это нормально работает, если я правильно ввожу код проверки. Однако, если я введу недопустимое значение, компонент капчи просто исчезнет.
Я попытался удалить атрибут update="captchaGrid"
. На этот раз капча не исчезла. Вместо этого он не обновлялся визуально, но (я думаю) внутри. Потому что при правильном наборе этих двух слов по-прежнему возникает ошибка проверки.
Кроме; Я не хочу использовать ajax="false"
.
Обновление: Я тоже пробовал oncomplete="Recaptcha.reload()"
. Не сработало Есть ошибка. Но я не знаю, мой ли это код или Primefaces 3.0:)
Обновление 2: Как указал maple_shaft, выясняется, что это проблема с Primefaces / Recaptcha. Поэтому я ищу любые грязные хаки, которые вы могли бы предложить.
Любая помощь приветствуется.