2013-01-09 48 views
0
  1. 我已經使用了電子郵件地址的控制,但如何使用的XForms:Orbeon:在窗體生成表單驗證

    <xsd:simpleType name="email"> 
        <xsd:restriction base="xsd:string"> 
        <xsd:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/> 
        </xsd:restriction> 
    </xsd:simpleType> 
    

    的XForms支持這一點,但如何:電子郵件數據類型,在源代碼中使用用於由orbeon表單生成器生成的源代碼?

  2. 假設對於一個候選人姓名,如果用戶沒有提供它應該顯示錯誤信息丟失或不正確的值這很好。但是如果用戶輸入超過30個字符,它應該顯示錯誤消息「超過最大長度」。

    但是我們無法清楚地知道該做什麼。你可以通過編輯我現在發送的源代碼來做到這一點,以便我們可以在我們的應用程序中使用它,並且我們可以理解它的工作原理。

    您能否通過發送這兩樣東西的示例代碼來幫助我們,以便我們可以通過編輯從Form Builder生成的源代碼來使用它?

回答

0
  1. 如果使用在建築工地驗證屬性「電子郵件地址」的類型,形式Builder將與控制相關的xforms:bind元素的xforms:email類型,如下所示:

    <xforms:bind id="my-email-bind" name="my-email" ref="my-email" type="xforms:email"/> 
    

    您可以通過使用「編輯源代碼」檢查表單的源代碼來查看。所以你不必自己明確地把xforms:email類型。

  2. 目前,您無法輕鬆地從構建器爲控件提供多個錯誤消息。你當然可以:

    1. 製作所需的控制: 「驗證屬性」 → 「是」
    2. 檢查它的長度:在 「確認屬性」 → 「Contraint」
+0

string-length() le 30。但在表單構建器中,只有@驗證是存在的例如: - 如果我給Sample作爲電子郵件的輸入,它將顯示錯誤消息,但是如果我使用Sample @ orbeon顯示有效輸入... 如果我提供Input作爲Sample @ orbeon它應該顯示錯誤消息,如果我提供輸入作爲Sample @ o rbeon.com那麼它應該是有效的...... Orbeon表單構建器不支持此驗證... 如何實現此驗證? –

+1

電子郵件驗證是*很難*見例[這其他SO問題](http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address)。 Orbeon Forms使用XForms 1.1規範中的regepx。你可以使用你自己的正則表達式,比如'constraint =「matches(。,'你的正則表達式')'' – ebruchez