0

我使用以下设置开发了一个 1.6 和 8.5.3

页面上只有两个,具有 required=true 属性。

`

<xp:this.resources>
    <xp:dojoModule name="dijit.form.ValidationTextBox"></xp:dojoModule>
</xp:this.resources>
<xp:this.data>
    <xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
</xp:this.data>
<xp:inputText id="inputText1"
    dojoType="dijit.form.ValidationTextBox"
    value="#{applicationScope.test}">
    <xp:this.dojoAttributes>
        <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute>
    </xp:this.dojoAttributes>
</xp:inputText>
<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action>
            <xp:saveDocument var="document1"></xp:saveDocument>
        </xp:this.action>
    </xp:eventHandler>
</xp:button>
<xp:br></xp:br>
<xp:inputText id="inputText2"
    dojoType="dijit.form.ValidationTextBox">
    <xp:this.dojoAttributes>
        <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute>
    </xp:this.dojoAttributes>
</xp:inputText> 
</xp:view>

`

通过单击提交,文档将保存到数据库中。

如果我从 [tag:extension library] 添加一个,这会阻止提交,则应首先填写所需的输入。

`

<xp:this.resources>
    <xp:dojoModule name="dijit.form.ValidationTextBox"></xp:dojoModule>
</xp:this.resources>
<xp:this.data>
    <xp:dominoDocument var="document1" formName="form1"></xp:dominoDocument>
</xp:this.data>
<xp:inputText id="inputText1"
    dojoType="dijit.form.ValidationTextBox"
    value="#{applicationScope.test}">
    <xp:this.dojoAttributes>
        <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute>
    </xp:this.dojoAttributes>
</xp:inputText>
<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete">
        <xp:this.action>
            <xp:saveDocument var="document1"></xp:saveDocument>
        </xp:this.action>
    </xp:eventHandler>
</xp:button>
<xp:br></xp:br>
<xp:inputText id="inputText2"
    dojoType="dijit.form.ValidationTextBox">
    <xp:this.dojoAttributes>
        <xp:dojoAttribute name="required" value="true"></xp:dojoAttribute>
    </xp:this.dojoAttributes>
</xp:inputText>
<xe:djNumberSpinner id="djNumberSpinner1"></xe:djNumberSpinner></xp:view>

`

有人知道如何解决这个问题吗?

任何帮助表示赞赏。

4

1 回答 1

0

您是否在 XPage 上将 dojoParseOnLoad 设置为“true”?听起来您可能还没有完成,在这种情况下 xp:inputTexts 不会转换为 Dojo Validation TextBoxes。

但是,只要您添加了 Extension Library Number Spinner,即使您没有指定它,该控件也会自动将 dojoParseOnload 添加到 XPage。因此,您的验证文本框也将立即起作用。

此外,因为您使用的是 Dojo 控件,所以关闭客户端验证是无关紧要的。Dojo 验证只能在客户端工作。您不能使用 Dojo 控件并运行验证服务器端。

于 2012-08-24T21:07:08.623 回答