orbeon字段验证错误

时间:2014-04-11 07:15:27

标签: validation orbeon

我正在使用xforms:bind对年份字段进行字段验证。代码如下:

<xforms:bind nodeset="instance('application-instance')/academic/cert_ordinary/year" level="year-1" constraint="if (string-length(.) &lt; 1  ) then . = . else . castable as xs:integer and string-length(.) = 4 "/>

,而UI代码如下:

<xforms:repeat ref="instance('application-instance')/academic/cert_as" id="cert-as-repeat">
  <xforms:input ref="year" incremental="true" class="input_smaller">
    <xforms:alert level="year-1">Must be 4 digit year!</xforms:alert>                           
  </xforms:input>
</xforms:repeat>

验证工作正常,但问题是,当我添加多行数据时,如果我在年份中插入一些字符串然后将其更改为数字,则验证无效。

例如,在我把&#34; test&#34;对于3行年份,警报将显示在那里,但随后我将其更改为&#34; 2014&#34;,1行的警报仍将保留在那里并且不会消失。

这是orbeon的错误吗?仅供我使用orbeon 4.2。

由于

1 个答案:

答案 0 :(得分:0)

似乎我在if语句中犯了错误

constraint="if (string-length(.) &lt; 1  ) then true() else . castable as xs:integer and string-length(.) = 4"

这是正确的if语句。

感谢