У меня есть следующий фрагмент кода внутри 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>
Это отлично работает, если я ввожу код правильно. Однако, если я введу недопустимое значение, компонент captcha просто исчезнет.
Я попытался удалить атрибут update = "captchaGrid"
. На этот раз капча не исчезла. Вместо этого он обновлялся не визуально, а (я думаю) внутренне. Поскольку при правильном вводе двух слов по-прежнему возникает ошибка проверки.
Кроме того; Я не хочу использовать ajax = "false"
.
Обновление: Я также пробовал oncomplete = "Recaptcha.reload ()"
. Не сработало. Есть ошибка. Но я не знаю, мой ли это код или Primefaces 3.0 :)
Обновление 2: Как заметил maple_shaft, оказывается, что это проблема с Primefaces / Recaptcha. Так что я ищу любые грязные приемы, которые вы могли бы предложить.
Любая помощь приветствуется.