2012-05-10 39 views
1

我寫了一個jsf2(cdi)web應用程序,使用jQuery,一個syntaxhighlighting腳本lib。在一頁上,我使用了primefaces 3.2 p:captcha組件。Primefaces p:captcha - >如果給定的輸入是錯誤的/空的我得到了格式錯誤的XML錯誤

這裏是使用驗證碼組件的片段。

  <p> 
       <p:captcha 
        id="commentCaptcha" 
        theme="white" 
        required="true" 
        requiredMessage="Bitte geben Sie die angezeigten Zeichen im Captcha Dialog ein."       
        validatorMessage="Die Captcha Prüfung ist fehlgeschlagen. Bitte versuchen Sie es erneut." 
        secure="true" 
        language="de"/> 
      </p> 
      <p> 
       <h:commandButton 
        action="#{commentCreatorBean.createCommentForArticle(newComment, article)}" 
        value="Eintragen"> 
        <f:ajax 
         execute="commentCaptcha name mail comment" 
         render=":commentsGroup @form :commentMessages"/>       
       </h:commandButton> 
       <div id="hint">...</div> 
      </p> 
  • 如果驗證碼的對話框中給定的輸入是正確的,那麼一切工作的罰款,在這種情況下,註釋持久。
  • 是給定的輸入空,比requiredMessage顯示在H:信息區和一個彈出顯示一個錯誤MSG(見錯誤味精的下面)
  • 是給定的輸入錯誤,比所示validatorMessage在H:消息地區,並且也是一個彈出式表演是一個錯誤味精(見錯誤味精的下面)

如果使用Chromium瀏覽器,我已經得到了錯誤消息:malformedXML:NETWORK_ERR:XMLHttpRequest的異常101 如果使用Firefox瀏覽器,我得到:malformedXML:組件返回失敗代碼:0x80004005(NS_ERROR_FAILURE)

有誰知道,問題是什麼?我在我的域名的google recaptcha頁面註冊。公鑰和私鑰在web.xml中設置(遵循primefaces實例的說明)

提前致謝!

+0

請編輯您的問題幷包含原始XML響應。到目前爲止,我*猜測*它與這個'ü'字符有關。 – BalusC

+0

感謝您的評論。但是我不太清楚,您對「原始XML響應」有何意義?您的意思是來自recaptcha服務的迴應?抱歉。順便說一句。我刪除了validatorMessage屬性的*ü*。發生同樣的錯誤。 – Chris81T

+0

在Chrome/Firebug中按F12,進入* Net(工作)*選項卡,發送ajax請求,然後瀏覽請求細節,您應該在那裏看到原始的XML響應。 – BalusC

回答

0

它看起來像你試圖通過AJAX提交Primefaces Captcha。

這不起作用。

Primefaces Captcha是Recaptcha插件的擴展,它目前不支持AJAX功能。

+0

嗨,我找到了以下帖子http://forum.primefaces.org/viewtopic.php?f=3&t=6991有人用oncomplete =「Recaptcha.reload()」函數使用p:commandButton。我會檢查這一點。但首先我必須看看,primefaces commandButton是如何工作的。我不認爲,我可以使用f:ajax元素作爲primefaces按鈕的子元素?!或者可能嗎?是p的進程attr:commandButton ==執行f:ajax的attr和p的更新attr:commandButton ==渲染f:ajax的attr? – Chris81T