1

我在 xpage 上创建了一个数字字段。但是输入检查不能正常工作。它只接受数字,这是预期的行为,但输入的数字的数量没有经过验证。由于 regExp \d{6},无法接受超过 6 位的数字。

这是xpage上的代码:

<xe:djNumberTextBox id="inputTextMidasId" dojoType="dijit.form.NumberTextBox" value="#{complaintDocument.midasId}" javaType="short" regExp="\d{6}"> <xe:this.constraints> <xe:djNumberConstraints pattern="######"> </xe:djNumberConstraints> </xe:this.constraints> </xe:djNumberTextBox>

谁能告诉如何使这段代码工作?谢谢你。

4

1 回答 1

1

我无法解释为什么正则表达式不能按预期工作。

根据 XPages Extension Library 书,您可以使用min和的max属性xe:djNumberConstraints来控制允许的最小值和最大值。所以也许你应该使用那些而不是正则表达式?

以下正是您想要的:

<xe:djNumberTextBox id="djNumberTextBox1" value="#{viewScope.test}">
    <xe:this.constraints>
        <xe:djNumberConstraints min="1" max="999999"></xe:djNumberConstraints>
    </xe:this.constraints>
</xe:djNumberTextBox>

更新:

如果您在 a 中写入 001,xe:djNumberTextBox它将在用户离开该字段时转换为 1。这是你想要的吗?

您可以使用xe:djValidationTextBox正则表达式验证输入。以下将执行您所需的验证,并允许在字段中保留诸如 001 之类的输入:

<xe:djValidationTextBox id="djValidationTextBox1" regExp="\d{6}"></xe:djValidationTextBox>
于 2012-08-11T21:07:10.273 回答