验证 Orbeon XBL 组件中的数据
Validating data in Orbeon XBL component
我想为 Orbeon Form Builder 创建一个包含输入文本并验证它的自定义 XBL 组件。
我已经设法创建组件并将其添加到表单生成器边栏,但我不知道如何进行验证。
我要做的验证有点复杂,它类似于信用卡,有些数字具有特殊意义,然后有一个校验和需要计算和验证。
我目前的情况是这样的:
<xbl:xbl xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xbl="http://www.w3.org/ns/xbl"
xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
xmlns:fb="http://orbeon.org/oxf/xml/form-builder"
xmlns:my="http://example.com/xbl">
<xbl:binding element="my|component" id="my-component" xxbl:mode="lhha binding value">
<metadata xmlns="http://orbeon.org/oxf/xml/form-builder">
<display-name lang="en">Component</display-name>
<icon lang="en">
<small-icon>/forms/orbeon/builder/images/input.png</small-icon>
<large-icon>/forms/orbeon/builder/images/input.png</large-icon>
</icon>
<templates>
<view>
<xf:input id="" ref="" xmlns="">
<xf:label ref=""/>
<xf:hint ref=""/>
<xf:help ref=""/>
<xf:alert ref=""/>
</xf:input>
</view>
</templates>
</metadata>
</xbl:binding>
</xbl:xbl>
您可以在元数据中放置一个验证模板,与 <view>
处于同一级别,但使用 <bind>
。例如:
<bind
type="xf:integer"
constraint="...some XPath expression here..."/>
如果该值由 constraint
验证,则您可以省略 xf:integer
类型。
使用 constraint
,您应该能够验证您的校验和。
如果您的部分价值遵循与信用卡相同的规则,您可以使用标准 is-card-number()
功能作为帮助。
我想为 Orbeon Form Builder 创建一个包含输入文本并验证它的自定义 XBL 组件。
我已经设法创建组件并将其添加到表单生成器边栏,但我不知道如何进行验证。
我要做的验证有点复杂,它类似于信用卡,有些数字具有特殊意义,然后有一个校验和需要计算和验证。
我目前的情况是这样的:
<xbl:xbl xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events"
xmlns:xbl="http://www.w3.org/ns/xbl"
xmlns:xxbl="http://orbeon.org/oxf/xml/xbl"
xmlns:fb="http://orbeon.org/oxf/xml/form-builder"
xmlns:my="http://example.com/xbl">
<xbl:binding element="my|component" id="my-component" xxbl:mode="lhha binding value">
<metadata xmlns="http://orbeon.org/oxf/xml/form-builder">
<display-name lang="en">Component</display-name>
<icon lang="en">
<small-icon>/forms/orbeon/builder/images/input.png</small-icon>
<large-icon>/forms/orbeon/builder/images/input.png</large-icon>
</icon>
<templates>
<view>
<xf:input id="" ref="" xmlns="">
<xf:label ref=""/>
<xf:hint ref=""/>
<xf:help ref=""/>
<xf:alert ref=""/>
</xf:input>
</view>
</templates>
</metadata>
</xbl:binding>
</xbl:xbl>
您可以在元数据中放置一个验证模板,与 <view>
处于同一级别,但使用 <bind>
。例如:
<bind
type="xf:integer"
constraint="...some XPath expression here..."/>
如果该值由 constraint
验证,则您可以省略 xf:integer
类型。
使用 constraint
,您应该能够验证您的校验和。
如果您的部分价值遵循与信用卡相同的规则,您可以使用标准 is-card-number()
功能作为帮助。