代码之家  ›  专栏  ›  技术社区  ›  evilpenguin

正在验证Orbeon XBL组件中的数据

  •  1
  • evilpenguin  · 技术社区  · 6 年前

    我想为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>
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Kaitsu    6 年前

    您可以将验证模板放置在元数据中,其级别与 <view> ,但使用 <bind> . 例如:

    <bind
        type="xf:integer"
        constraint="...some XPath expression here..."/>
    

    xf:integer 如果值由 constraint

    ,您应该能够验证您的校验和。

    如果您的部分价值遵循与信用卡相同的规则,您可以使用标准 is-card-number() 充当助手。