2013-01-09 46 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